Not all of our patch to previous releases has been merged in gcc 4.5 but the whole patch was dropped. One part of it was making it use the right crt*.o files for pie executables. While, on x86, it doesnt cause errors but only renders pie almost useless, on amd64 this becomes an error and causes me problems. See: http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00555.html could you please add it to our patchset for current releases ? thanks!
on amd64 (out of my memory) errors are: gcc -pie -fPIC -fPIE foo.c Error: cannot make relocation against for /usr/.../crt1.o ... recompile -fPIC with the patch it works fine.
what versions of gcc exactly do you want this merged into ?
(In reply to comment #2) > what versions of gcc exactly do you want this merged into ? starting from latest ~arch up to current I'd say, today that'll mean 4.5.3, 4.6.3 (and 4.7 at some point). if 4.6 goes to ~arch, i dont care about 4.5; what is important to me is that i get a working compiler by 'emerge -1 gcc' so that i can continue keywording packages that rely on pie (eg cups).
i've queued it in all 4.5.x and 4.6.x dirs, and released it in 4.5.3 and 4.6.3 http://sources.gentoo.org/gentoo/src/patchsets/gcc/4.6.3/gentoo/92_all_freebsd-pie.patch?rev=1.1
should be all set now in the tree; thanks for the report! Commit message: Push out FreeBSD PIE fix http://sources.gentoo.org/sys-devel/gcc/gcc-4.5.3-r2.ebuild?r1=1.13&r2=1.14 http://sources.gentoo.org/sys-devel/gcc/gcc-4.6.3.ebuild?r1=1.2&r2=1.3