+++ This bug was initially created as a clone of Bug #119160 +++ gcc-3.3.6 can build perl-5.8.7-r3 but gcc-3.4.5-r1 is unable to. log : ../../miniperl "-I../../lib" "-I../../lib" "-I../../lib" "-I../../lib" XSLoader_pm.PL XSLoader.pm cp XSLoader.pm ../../lib/XSLoader.pm cp DynaLoader.pm ../../lib/DynaLoader.pm AutoSplitting ../../lib/DynaLoader.pm (../../lib/auto/DynaLoader) rm -f DynaLoader.xs cp dl_dlopen.xs DynaLoader.xs ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap DynaLoader.xs > DynaLoader.xsc && mv DynaLoader.xsc DynaLoader.c /bin/sh: line 1: 12375 Segmentation fault ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap DynaLoader.xs >DynaLoader.xsc make[1]: *** [DynaLoader.o] Error 139 make[1]: Leaving directory `/var/tmp/portage/perl-5.8.7-r3/work/perl-5.8.7/ext/DynaLoader' make: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2 !!! ERROR: dev-lang/perl-5.8.7-r3 failed. !!! Function src_compile, Line 268, Exitcode 2 emerge info : Portage 2.0.54 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.5-r3, 2.6.14 i686) ================================================================= System uname: 2.6.14 i686 Intel(R) Pentium(R) III CPU 1200MHz Gentoo Base System version 1.6.14 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer -fstack-protector" DISTDIR="/gentoo-distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.proxad.net/mirrors/ftp.gentoo.org/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.switch.ch/mirror/gentoo/ http://gentoo.osuosl.org/" LINGUAS="fr es en" MAKEOPTS="-j2" PKGDIR="/gentoo-pkg" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://lists.gentoo.org/gentoo-portage" USE="X aac aalib acl alsa apache2 apm audiofile avi bash-completion berkdb bitmap-fonts bzip2 cdr cli crypt ctype cups curl dba dga dri dvd dvdr eds emboss encode exif expat fam fastbuild ffmpeg flac font-server foomaticdb force-cgi-redirect fortran ftp gd gdbm gif glitz glut glx gnome gpm gstreamer gtk gtk2 guile idn imagemagick imlib ipv6 isdnlog jack java jpeg lcms libg++ libwww mad matroska memlimit mikmod mmx mmxext mng motif mozilla mp3 mpeg mysql ncurses network nls nptl ogg openal opengl pam pcre pdf pdflib perl png posix postgres pppd python qt quicktime readline real recode samba scanner sdl session simplexml soap sockets spell spl sse ssl svg svga tcltk tcpd theora tiff tokenizer truetype truetype-fonts type1-fonts udev unicode usb v4l vorbis win32codecs wxwindows x86 xine xml xml2 xmms xsl xv xvid zlib linguas_fr linguas_es linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS
And if you remove -fstack-protector from your CFLAGS, can you still reproduce this?
It apparently works without SSP : CFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer" CXXFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer" emerge perl (...) >>> dev-lang/perl-5.8.7-r3 merged.
If you want to use SSP, use the hardened spec by selecting it via gcc-config.
the gcc profile was changed : # gcc-config -l [1] i686-pc-linux-gnu-3.3.6 [2] i686-pc-linux-gnu-3.3.6-hardened [3] i686-pc-linux-gnu-3.3.6-hardenednopie [4] i686-pc-linux-gnu-3.3.6-hardenednopiessp [5] i686-pc-linux-gnu-3.3.6-hardenednossp [6] i686-pc-linux-gnu-3.4.5 [7] i686-pc-linux-gnu-3.4.5-hardenednopie * [8] i686-pc-linux-gnu-3.4.5-hardenednopiessp [9] i686-pc-linux-gnu-3.4.5-hardenednossp [10] i686-pc-linux-gnu-3.4.5-vanilla the toolchain was recompiled (binutils gcc glibc) with this profile. and yet the error stands : make[1]: Entering directory `/var/tmp/portage/perl-5.8.7-r3/work/perl-5.8.7/ext/DynaLoader' ../../miniperl "-I../../lib" "-I../../lib" "-I../../lib" "-I../../lib" DynaLoader_pm.PL DynaLoader.pm ../../miniperl "-I../../lib" "-I../../lib" "-I../../lib" "-I../../lib" XSLoader_pm.PL XSLoader.pm cp XSLoader.pm ../../lib/XSLoader.pm cp DynaLoader.pm ../../lib/DynaLoader.pm AutoSplitting ../../lib/DynaLoader.pm (../../lib/auto/DynaLoader) rm -f DynaLoader.xs cp dl_dlopen.xs DynaLoader.xs ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap DynaLoader.xs > DynaLoader.xsc && mv DynaLoader.xsc DynaLoader.c /bin/sh: line 1: 13596 Segmentation fault ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap DynaLoader.xs >DynaLoader.xsc make[1]: *** [DynaLoader.o] Error 139 make[1]: Leaving directory `/var/tmp/portage/perl-5.8.7-r3/work/perl-5.8.7/ext/DynaLoader' make: *** [lib/auto/DynaLoader/DynaLoader.a] Error 2 !!! ERROR: dev-lang/perl-5.8.7-r3 failed. !!! Function src_compile, Line 268, Exitcode 2 !!! Unable to make !!! If you need support, post the topmost build error, NOT this status message. I'm switching to hardened make.profile, recompiling yet again the toolchain, and will report the result.
same, after 1/ switching the profile to hardened : /etc/make.profile -> ../usr/portage/profiles/hardened/x86/2.6 2/ recompiling the toolchain (binutils gcc glibc) any idea, things I should test, more info needed ?
# emerge info Portage 2.0.54 (hardened/x86/2.6, gcc-3.4.5-hardenednopie, glibc-2.3.5-r3, 2.6.14 i686) ================================================================= System uname: 2.6.14 i686 Intel(R) Pentium(R) III CPU 1200MHz Gentoo Base System version 1.6.14 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer -fstack-protector" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer -fstack-protector" DISTDIR="/gentoo-distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.proxad.net/mirrors/ftp.gentoo.org/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.switch.ch/mirror/gentoo/ http://gentoo.osuosl.org/" LINGUAS="fr es en" MAKEOPTS="-j2" PKGDIR="/gentoo-pkg" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://lists.gentoo.org/gentoo-portage" USE="X aac aalib acl alsa apm audiofile avi bash-completion berkdb bzip2 cdr crypt cups curl dga dlloader dri dvd dvdr eds encode exif expat fam ffmpeg flac font-server gd gdbm gif glitz glut glx gnome gpm gstreamer gtk gtk2 guile hardened idn imagemagick imlib jack java jpeg lcms mad matroska mikmod mmx mmxext mng motif mozilla mysql ncurses network nls nptl ogg openal opengl pam pcre pdf pdflib perl pic png postgres python qt quicktime readline real recode samba scanner sdl sse ssl svg svga tcltk tcpd theora tiff truetype udev unicode usb userlocales v4l vorbis win32codecs wxwindows x86 xine xml xml2 xmms xv xvid zlib linguas_fr linguas_es linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS
Removing -fstack-protector from his CFLAGS fixed it.