This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

generalizing linux startfile/endfile usage


Hello!

The attached patch generalizes the usage of STARTFILE/ENDFILE_SPEC

currently we have following exceptions used for linux:
startfile:
ia64/arm don't use crtbeginT.o for static linking
alpha/sparc[64]/rs6000 do not use profile
rs6000 has some addon (mnewlib related)

endfile:
alpha/ia64/sparc[64] use crtfastmath.o
rs6000 has some addon (mnewlib related)

if we use the generalized version checking for crtbeginT.o/crtfastmath.o 
presence, we can remove all the arch specific versions except for rs6000, 
where the SPEC entry has an other name.
(considering missing profile support from the 4 archs is a bug)

The patch adds for ENDFILE_SPEC the proper 2 cases depending on the 
used binutils (ld supporting -pie or not)

the last 2 chunks are only shortening proposals, there are places, like
%{shared:-shared} -> %{shared}
%{static:-static} -> %{static}
that can be shortened, and by adding the earlier proposed blocking patch, 
some new shortenings will be possible.

Consider this patch only a starting point for discussion.

Some questions:
which archs really support/use %{mieee-fp:-lmieee} (LIB_SPEC)

Thanks, Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2

Attachment: gcc-4.0-cvs-gen-linux.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]