When compiling with '-fstack-protector' in CFLAGS, the build fails as follows: root@peti:/usr/portage/scripts$ emerge hesiod Calculating dependencies ...done! >>> emerge (1 of 1) net-dns/hesiod-3.0.2 to / >>> md5 src_uri ;-) hesiod-3.0.2.tar.gz >>> Unpacking source... >>> Unpacking hesiod-3.0.2.tar.gz to /var/tmp/portage/hesiod-3.0.2/work patching file Makefile.in patching file hesiod.c patching file hesiod.c patching file hespwnam.c Hunk #1 succeeded at 39 with fuzz 1. patching file hesservbyname.c >>> Source unpacked. creating cache ./config.cache checking for gcc... gcc checking whether we are using GNU C... yes checking for a BSD compatible install... /bin/install -c checking for ranlib... ranlib checking how to run the C preprocessor... gcc -E checking for res_mkquery... no checking for -lresolv... yes checking for strerror_r... yes updating cache ./config.cache creating ./config.status creating Makefile creating config.h gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hesiod.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hesmailhost.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hespwnam.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hesservbyname.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hescompat.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hesinfo.c gcc -c -I. -DSYSCONFDIR=\"/usr/etc\" -mcpu=athlon -O3 -fomit-frame-pointer -foptimize-sibling-calls -funroll-loops -fstack-protector -pipe -fPIC hestest.c ar cru libhesiod.a hesiod.o hesmailhost.o hespwnam.o hesservbyname.o hescompat.o ranlib libhesiod.a ld -G -o libhesiod.so.0 -soname=libhesiod.so.0 hesiod.o hesmailhost.o hespwnam.o hesservbyname.o hescompat.o -lresolv -lc gcc -o hesinfo hesinfo.o libhesiod.so.0 -lresolv /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../i686-pc-linux-gnu/bin/ld: hesinfo: hidden symbol `__stack_smash_handler' in /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libgcc.a(_stack_smash_handler.oS) is referenced by DSO collect2: ld returned 1 exit status make: *** [hesinfo] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: net-dns/hesiod-3.0.2 failed. !!! Function src_compile, Line 48, Exitcode 2 !!! (no error message)
Created attachment 17158 [details] new ebuild that filters -fstack-protector
fixed, thanks for the work you guys