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.
I tried a build on ppc (using an ugly hack) and got: 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 partition' : prep.c: 167: warning: pointer targets in passing argument 3 of 'part_register' differ in signedness libpart. h:56: note: expected 'const unsigned char *' but argument is of type 'char *' 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 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 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 char_pckbd. o .objs/dev_ char_kbdadb. o .objs/dev_ char_kbd. o buildd/ openhackware- 0.4.1/src/ bootinfos. c:282: undefined reference to `__stack_chk_fail' buildd/ openhackware- 0.4.1/src/ bloc.c: 555: undefined reference to `__stack_chk_fail' buildd/ openhackware- 0.4.1/src/ bloc.c: 514: undefined reference to `__stack_chk_fail' buildd/ openhackware- 0.4.1/src/ of.c:3509: undefined reference to `__stack_chk_fail' set_boot_ device' : buildd/ openhackware- 0.4.1/src/ of.c:3349: undefined reference to `__stack_chk_fail' o:/build/ buildd/ openhackware- 0.4.1/src/ of.c:3309: more undefined references to `__stack_chk_fail' follow buildd/ openhackware- 0.4.1'
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_
src/libpart/prep.c: In function 'PREP_find_
src/libpart/
src/libpart/
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_
gcc -c -Wall -g -O2 -fno-builtin -fno-common -nostdinc -mregnames -DBUILD_
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_
.objs/bootinfos.o: In function `residual_build':
/build/
.objs/bloc.o: In function `fdc_read_sector':
/build/
.objs/bloc.o: In function `fdc_initialize':
/build/
.objs/of.o: In function `OF_vga_register':
/build/
.objs/of.o: In function `OF_blockdev_
/build/
.objs/of.
make[1]: *** [.objs/main.out] Error 1
make[1]: Leaving directory `/build/
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.