Comment 28 for bug 64501

Loïc Minier (lool) wrote :

I tried a build on ppc (using an ugly hack) and got:
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_DATE=2010-03-22 -DBUILD_TIME=17:30:40 -Isrc/ -Isrc/libc/include -I/usr/lib/gcc/powerpc-linux-gnu/4.4.3//include -Isrc/dev -Isrc/dev/block -Isrc/dev/char -Isrc/dev/bus -o .objs/part_prep.o src/libpart/prep.c
src/libpart/prep.c: In function 'PREP_find_partition':
src/libpart/prep.c:167: warning: pointer targets in passing argument 3 of 'part_register' differ in signedness
src/libpart/libpart.h:56: note: expected 'const unsigned char *' but argument is of type 'char *'
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_DATE=2010-03-22 -DBUILD_TIME=17:30:40 -Isrc/ -Isrc/libc/include -I/usr/lib/gcc/powerpc-linux-gnu/4.4.3//include -Isrc/dev -Isrc/dev/block -Isrc/dev/char -Isrc/dev/bus -o .objs/dev_char_pckbd.o src/dev/char/pckbd.c
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_DATE=2010-03-22 -DBUILD_TIME=17:30:40 -Isrc/ -Isrc/libc/include -I/usr/lib/gcc/powerpc-linux-gnu/4.4.3//include -Isrc/dev -Isrc/dev/block -Isrc/dev/char -Isrc/dev/bus -o .objs/dev_char_kbdadb.o src/dev/char/kbdadb.c
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_DATE=2010-03-22 -DBUILD_TIME=17:30:40 -Isrc/ -Isrc/libc/include -I/usr/lib/gcc/powerpc-linux-gnu/4.4.3//include -Isrc/dev -Isrc/dev/block -Isrc/dev/char -Isrc/dev/bus -o .objs/dev_char_kbd.o src/dev/char/kbd.c
ld -O2 -g -nostdlib -T src/main.ld -o .objs/main.out .objs/main.o .objs/bootinfos.o .objs/bloc.o .objs/pci.o .objs/of.o .objs/start.o .objs/nvram.o .objs/vga.o .objs/mm.o .objs/char.o .objs/malloc.o .objs/errno.o .objs/_vprintf.o .objs/printf.o .objs/sprintf.o .objs/snprintf.o .objs/vprintf.o .objs/vsprintf.o .objs/vsnprintf.o .objs/dprintf.o .objs/vdprintf.o .objs/memcpy.o .objs/memccpy.o .objs/mempcpy.o .objs/memmove.o .objs/memcmove.o .objs/mempmove.o .objs/memset.o .objs/memcmp.o .objs/memchr.o .objs/rawmemchr.o .objs/memrchr.o .objs/memmem.o .objs/strcpy.o .objs/strdup.o .objs/strndup.o .objs/stpcpy.o .objs/stpncpy.o .objs/strcat.o .objs/strncat.o .objs/strcmp.o .objs/strcasecmp.o .objs/strncmp.o .objs/strncasecmp.o .objs/strchr.o .objs/strchrnul.o .objs/strrchr.o .objs/basename.o .objs/dirname.o .objs/strlen.o .objs/strnlen.o .objs/exec_core.o .objs/exec_elf.o .objs/exec_xcoff.o .objs/exec_macho.o .objs/exec_chrp.o .objs/exec_prep.o .objs/exec_pef.o .objs/fs_core.o .objs/fs_raw.o .objs/fs_ext2.o .objs/fs_isofs.o .objs/fs_hfs.o .objs/part_core.o .objs/part_apple.o .objs/part_isofs.o .objs/part_prep.o .objs/dev_char_pckbd.o .objs/dev_char_kbdadb.o .objs/dev_char_kbd.o
.objs/bootinfos.o: In function `residual_build':
/build/buildd/openhackware-0.4.1/src/bootinfos.c:282: undefined reference to `__stack_chk_fail'
.objs/bloc.o: In function `fdc_read_sector':
/build/buildd/openhackware-0.4.1/src/bloc.c:555: undefined reference to `__stack_chk_fail'
.objs/bloc.o: In function `fdc_initialize':
/build/buildd/openhackware-0.4.1/src/bloc.c:514: undefined reference to `__stack_chk_fail'
.objs/of.o: In function `OF_vga_register':
/build/buildd/openhackware-0.4.1/src/of.c:3509: undefined reference to `__stack_chk_fail'
.objs/of.o: In function `OF_blockdev_set_boot_device':
/build/buildd/openhackware-0.4.1/src/of.c:3349: undefined reference to `__stack_chk_fail'
.objs/of.o:/build/buildd/openhackware-0.4.1/src/of.c:3309: more undefined references to `__stack_chk_fail' follow
make[1]: *** [.objs/main.out] Error 1
make[1]: Leaving directory `/build/buildd/openhackware-0.4.1'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

so it seems this doesn't build from source anymore; it's likely due to the stack protector.