gcc-3.4.3-r1 compiles in hardened mode, or at last with the pie/ssp patches even with USE="-hardened -pie -pic -ssp" with the result of breaking xorg and maybe other programs. Selecting in gcc-config the version without -hardened* doesn't make any difference. Reproducible: Always Steps to Reproduce: 1. add -hardened -pie -pic -ssp and ~x86 to make.conf 2. emerge gcc 3. gcc -v, or alternatively emerge xorg-x11 Actual Results: gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7) Expected Results: It shouldn't have included ssp or pie in the compilation.
Have you tried to select a different profile with gcc-config? E.g. the "vanilla" profile.
make sure the env var GCC_SPECS is not set. echo $GCC_SPECS
GCC_SPECS is indeed set to hardened through /etc/csh.env while the vanilla profile is selected. Interesting. I guess that's a bug of env-update (and hence portage) then. I'll try to trace it. OG.
remove the entry in /etc/env.d/gcc/ upgrade gcc-config and relogin to your tty's that still have it set in the env. Note: it was not hardened@ that made the GCC_SPECS bug. To see what's bins have been compiled with the hardened specs you can do something like this. # note this will take a while. for bin in $(for f in $(echo $PATH | tr : ' '); do file $f/* | grep ELF" "[36][24]-bit" "[LM]SB" shared object"; done | cut -d : -f 1) ; do qpkg -f $bin ; done | sort -u | less
Thanks. A too old gcc-config was indeed the fundamental problem. All looks well now. OG.