bind-tools 9.2.3 fails to compile with fstack-protector Removing fstack-protector enables a clean compile Reproducible: Always Steps to Reproduce: 1. ensure you have gcc 3.3.2-r2 2. add -fstack-protector to your CFLAGS 3. emerge bind-tools Actual Results: gcc -march=pentium4 -msse2 -mfpmath=sse -O2 -pipe -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions=4 -falign-labels=1 -falign-loops=16 -falign-jumps=16 -fomit-frame-pointer -fstack-protector -I/var/tmp/portage/bind-tools-9.2.3/work/bind-9.2.3 -I./include -I/var/tmp/portage/bind-tools-9.2.3/work/bind-9.2.3/lib/dns/include -I../../lib/dns/include -I../../lib/dns/sec/dst/include -I/var/tmp/portage/bind-tools-9.2.3/work/bind-9.2.3/lib/isc/include -I../../lib/isc -I../../lib/isc/include -I../../lib/isc/unix/include -I../../lib/isc/nothreads/include -DVERSION=\"9.2.3\" -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -c dighost.c gcc -march=pentium4 -msse2 -mfpmath=sse -O2 -pipe -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions=4 -falign-labels=1 -falign-loops=16 -falign-jumps=16 -fomit-frame-pointer -fstack-protector -o dig dig.o dighost.o libdns.so libisc.so -lnsl /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: dig: hidden symbol `__stack_smash_handler' in /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/libgcc.a(_stack_smash_handler.oS) is referenced by DSO collect2: ld returned 1 exit status make: *** [dig] Error 1 !!! ERROR: net-dns/bind-tools-9.2.3 failed. !!! Function src_compile, Line 40, Exitcode 2 !!! make failed in /bin/dig Expected Results: Compiled cleanly Portage 2.0.49-r15 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r8, 2.6.0-test9-mm1)================================================================= System uname: 2.6.0-test9-mm1 i686 Mobile Intel(R) Celeron(R) CPU 1.60GHz Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -msse2 -mfpmath=sse -O2 -pipe -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions=4 -falign-labels=1 -falign-loops=16 -falign-jumps=16 -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -msse2 -mfpmath=sse -O2 -pipe -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions=4 -falign-labels=1 -falign-loops=16 -falign-jumps=16 -fomit-frame-pointer -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://www.ibiblio.org/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 oss avi crypt cups encode foomaticdb gif jpeg libg++ libwww mad mikmod mpeg ncurses pdflib png quicktime spell truetype xml2 xv zlib directfb alsa gdbm berkdb slang readline aalib svga java X sdl gpm tcpd pam ssl perl python esd imlib oggvorbis gnome gtk opengl mozilla acpi apache2 bluetooth bonobo cdr dga dv dvd ethereal evo faad fam fbcon ffmpeg gd gphoto2 gstreamer gtk2 gtkhtml ipv6 javascript justify lcd libgda maildir md5sum mdb moznocompose moznoirc moznomail nptl odbc offensive pcmcia pda php pic pnp sasl sse tcltk threads tiff usb v4l X509 xvid -apm -arts -kde -motif nls -qt -xmms"
Yepp. Me too! :) Although that somehow smells like a feature, not a bug(?)
Sounds rather like an upstream problem to me. Have you tried contacting ISC or one of the BIND*-USERS mailing lists?
Not yet, but I will if you like.
test directories lack main() functions. revised ebuilds and patch file to follow.
Created attachment 21425 [details, diff] /usr/portage/net-dns/bind/files/bind-9.2.3-bin-tests-db-t_db.c.patch applies to 9.2.2 and 9.2.3
Created attachment 21426 [details, diff] bind-9.2.3-r1
Created attachment 21427 [details, diff] bind-9.2.2-r4
The initial bug here should be fixed by the latest move-propolice-to-glibc patch applied in the recent update of gcc. Once it gets past that point, the new binutils properly fails to compile these test programs that have no main(), which the attached patches fix.
Fixed now thanks :) (sorry about the delay - I completely forgot about this bug)