DragonFly BSD
DragonFly users List (threaded) for 2005-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

DragonFly_RELEASE_1_2 buildworld failed with fstack protector


From: Jurij Kovacic <jurij.kovacic@xxxxxxxxx>
Date: Sun, 10 Apr 2005 18:24:00 +0200

Hello!

I just tried to "make build world" with

CFLAGS=-O -pipe -fstack-protector
COPTFLAGS=-O -pipe -fstack-protector

on Dragonfly_RELEASE_1_2 (GCC3)which failed with:

boot.o: In function `getrootmount':
boot.o(.text+0x43c): undefined reference to `__guard'
boot.o(.text+0x63c): undefined reference to `__guard'
boot.o(.text+0x64c): undefined reference to `__stack_smash_handler'
commands.o: In function `help_getnext':
commands.o(.text+0x13): undefined reference to `__guard'
commands.o(.text+0x132): undefined reference to `__guard'
commands.o(.text+0x142): undefined reference to `__stack_smash_handler'
commands.o: In function `command_help':
commands.o(.text+0x1e9): undefined reference to `__guard'
commands.o(.text+0x3fe): undefined reference to `__guard'
commands.o(.text+0x40e): undefined reference to `__stack_smash_handler'
commands.o: In function `command_read':
commands.o(.text+0x647): undefined reference to `__guard'
commands.o(.text+0x785): undefined reference to `__guard'
commands.o(.text+0x795): undefined reference to `__stack_smash_handler'
commands.o: In function `command_more':
commands.o(.text+0x7b9): undefined reference to `__guard'
commands.o(.text+0x83e): undefined reference to `__guard'
commands.o(.text+0x84e): undefined reference to `__stack_smash_handler'
commands.o: In function `command_lsdev':
commands.o(.text+0x8a4): undefined reference to `__guard'
commands.o(.text+0x97f): undefined reference to `__guard'
commands.o(.text+0x98f): undefined reference to `__stack_smash_handler'
interp.o: In function `interact':
interp.o(.text+0xb): undefined reference to `__guard'
interp.o: In function `include':
interp.o(.text+0x169): undefined reference to `__guard'
interp.o(.text+0x2d8): undefined reference to `__guard'
interp.o(.text+0x2e8): undefined reference to `__stack_smash_handler'
ls.o: In function `command_ls':
ls.o(.text+0x13): undefined reference to `__guard'
ls.o(.text+0x26b): undefined reference to `__guard'
ls.o(.text+0x27b): undefined reference to `__stack_smash_handler'
misc.o: In function `hexdump':
misc.o(.text+0x109): undefined reference to `__guard'
misc.o(.text+0x238): undefined reference to `__guard'
misc.o(.text+0x248): undefined reference to `__stack_smash_handler'
module.o: In function `command_lsmod':
module.o(.text+0x1a4): undefined reference to `__guard'
module.o(.text+0x2e9): undefined reference to `__guard'
module.o(.text+0x2f9): undefined reference to `__stack_smash_handler'
isapnp.o: In function `isapnp_scan_resdata':
isapnp.o(.text+0x259): undefined reference to `__guard'
isapnp.o(.text+0x381): undefined reference to `__guard'
isapnp.o(.text+0x391): undefined reference to `__stack_smash_handler'
isapnp.o: In function `isapnp_isolation_protocol':
isapnp.o(.text+0x3b6): undefined reference to `__guard'
isapnp.o(.text+0x4a2): undefined reference to `__guard'
isapnp.o(.text+0x4b2): undefined reference to `__stack_smash_handler'
pnp.o: In function `pnp_eisaformat':
pnp.o(.text+0x289): undefined reference to `__guard'
pnp.o(.text+0x32c): undefined reference to `__guard'
pnp.o(.text+0x33c): undefined reference to `__stack_smash_handler'
interp_forth.o: In function `bf_init':
interp_forth.o(.text+0x231): undefined reference to `__guard'
interp_forth.o(.text+0x379): undefined reference to `__guard'
interp_forth.o(.text+0x389): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../../ficl/libficl.a(loader.o): In function `ficlExecFD':
loader.o(.text+0x49c): undefined reference to `__guard'
loader.o(.text+0x56a): undefined reference to `__guard'
loader.o(.text+0x57a): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../../ficl/libficl.a(words.o): In function `twoConstParen':
words.o(.text+0x93d): undefined reference to `__guard'
words.o(.text+0xb76): undefined reference to `__guard'
words.o(.text+0xb86): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../../ficl/libficl.a(words.o): In function `ficlTick':
words.o(.text+0x3abe): undefined reference to `__guard'
words.o(.text+0x3c74): undefined reference to `__guard'
words.o(.text+0x3c84): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(vidconsole.o): In function `bail_out':
vidconsole.o(.text+0x516): undefined reference to `__guard'
vidconsole.o(.text+0x5a1): undefined reference to `__guard'
vidconsole.o(.text+0x5b1): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(pxe.o): In function `pxe_enable':
pxe.o(.text+0x220): undefined reference to `__guard'
pxe.o(.text+0x468): undefined reference to `__guard'
pxe.o(.text+0x478): undefined reference to `__stack_smash_handler'
pxe.o(.text+0x59e): undefined reference to `__guard'
pxe.o(.text+0x5f0): undefined reference to `__guard'
pxe.o(.text+0x600): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(biospci.o)(.text+0x1a3): undefined reference to `__guard'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(biospci.o)(.text+0x23b): undefined reference to `__guard'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(biospci.o)(.text+0x24b): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(biosdisk.o): In function `bd_unit2bios':
biosdisk.o(.text+0x202): undefined reference to `__guard'
biosdisk.o(.text+0x34f): undefined reference to `__guard'
biosdisk.o(.text+0x35f): undefined reference to `__stack_smash_handler'
biosdisk.o(.text+0x386): undefined reference to `__guard'
biosdisk.o(.text+0x53d): undefined reference to `__guard'
biosdisk.o(.text+0x54d): undefined reference to `__stack_smash_handler'
biosdisk.o(.text+0x572): undefined reference to `__guard'
biosdisk.o(.text+0x715): undefined reference to `__guard'
biosdisk.o(.text+0x725): undefined reference to `__stack_smash_handler'
biosdisk.o(.text+0x773): undefined reference to `__guard'
biosdisk.o(.text+0xa27): undefined reference to `__guard'
biosdisk.o(.text+0xa37): undefined reference to `__stack_smash_handler'
biosdisk.o(.text+0xa5c): undefined reference to `__guard'
biosdisk.o(.text+0xb42): undefined reference to `__guard'
biosdisk.o(.text+0xb52): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(bioscd.o): In function `bc_add':
bioscd.o(.text+0x115): undefined reference to `__guard'
bioscd.o(.text+0x15b): undefined reference to `__guard'
bioscd.o(.text+0x16b): undefined reference to `__stack_smash_handler'
/usr/obj/usr/src/world_i386/usr/src/sys/boot/i386/loader/../libi386/libi386.a(biosacpi.o): In function `biosacpi_detect':
biosacpi.o(.text+0xa): undefined reference to `__guard'
biosacpi.o(.text+0xe3): undefined reference to `__guard'
biosacpi.o(.text+0xf3): undefined reference to `__stack_smash_handler'


On the other hand, "make buildworld" with flags
CFLAGS=-O -pipe
COPTFLAGS=-O -pipe

finished without a problem.

Since we are running DragonFly on a production server I would like it to be as secure as possible (which is why I would like to compile world & kernel with -fstack-protector flag) and as stable as possible.

IS there a way to compile world with "fstack protection" on RELEASE_1_2 (an possibly future preview releases)?

Are there any reasons why world, kernel or userland binaries should NOT be compiled with "fstach protector" (for ex. stability issues)?

Thank you very much for your help!

Jurij



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]