On Fri, Jan 9, 2015 at 5:56 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Fri, Jan 9, 2015 at 12:12 PM, Magnus Granberg <zo...@gentoo.org> wrote: >> fredag 09 januari 2015 13.00.14 skrev Daniel Micay: >>> On 09/01/15 12:49 PM, Joseph Myers wrote: >>> > On Fri, 9 Jan 2015, Daniel Micay wrote: >>> >>> --with-specs="%{pie|fpic|fPIC|fpie|fPIE|fno-pic|fno-PIC|fno-pie|fno-PIE| >>> >>> shared|static|nostdlib|nodefaultlibs|nostartfiles:;:-fPIE -pie}" >>> >>> >>> >>> at configure time (using CONFIGURE_SPECS). >> DRIVER_SELF_SPECS is checkt before CONFIGURE_SPECS. On mips it will have >> added >> -mno-shared before it check CONFIGURE_SPECS. I want to support more targets >> later on. Can move the spec to elfos.h. >>> >>> >>> >>> I have no idea if the above is really the proper spec to use - why >>> >>> do you include static, nostdlib, nodefaultlibs and nostartfiles >>> >>> for example? Similar, if I say >>> >> >>> >> PIE isn't supported for static executables by binutils, etc. so it >>> >> does need to exclude that. The checks for nostdlib, nodefaultlibs >>> > >>> > Well - that would indicate excluding -pie if one of the link-time options >>> > conflicting with it is used, -fPIE if one of the compile-time options >>> > conflicting with it is used. That way, "gcc -static file.c" would still >>> > have the same effect as "gcc -c file.c; gcc -static file.o" (building a >>> > PIE object, linking it into a non-PIE static executable), which makes >>> > logical sense to me (although there may be no great benefit either way). >>> >>> Sure, I agree. It should have separate lists of exceptions for both of >>> these. >> I can separete it to compile and linke sections and remove the nostdlib, >> nodefaultlibs and nostartfiles. But how do we not pass -pie to the linker >> when >> we don't pass static or shared and don't link it with -pie? For only the gold >> linker support -no-pie. >> >> /Magnus G. >> >> > > Please try hjl/pie branch: > > https://gcc.gnu.org/git/?p=gcc.git;a=summary > > and let know if it works for you. >
I updated the branch with some fixes. -- H.J.