This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: Do not install specs file
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, echristo at redhat dot com
- Date: Mon, 17 Jan 2005 17:56:51 +0000
- Subject: Re: RFC: Do not install specs file
- References: <200412200229.iBK2TwXF020264@sirius.codesourcery.com><orsm60j20y.fsf@livre.redhat.lsd.ic.unicamp.br><41C729BE.7090304@codesourcery.com><ory8fs8eaz.fsf@livre.redhat.lsd.ic.unicamp.br><87651xt8i8.fsf@redhat.com><oracr8kl0l.fsf@livre.redhat.lsd.ic.unicamp.br>
Alexandre Oliva <aoliva@redhat.com> writes:
>> #define DRIVER_SELF_SPECS \
>> "%{!EB:%{!EL:%(endian_spec)}}", \
>> -"%(driver_default_abi_self_spec)", \
>> -"%{!mips*:%{!march=*:%{mabi=32:-mips1}%{mabi=n32|mabi=64:-mips3}}}"
>> +"%{!mabi=*: -mabi=n32}"
>
> Do you really need the explicit -mabi=n32 now?
'Fraid so. Like the patched comment says:
+/* Force the default endianness and ABI flags onto the command line
+ in order to make the other specs easier to write. */
it's needed because the other specs expect there to be some sort of
-mabi switch. E.g. LINK_SPEC is:
#define LIB_SPEC "\
%{shared: -lc} \
%{!static: \
%{mabi=n32:-rpath-link %R/lib32:%R/usr/lib32} \
%{mabi=64:-rpath-link %R/lib64:%R/usr/lib64} \
%{mabi=32:-rpath-link %R/lib:%R/usr/lib}} \
%{!shared: %{pthread:-lpthread} \
%{profile:-lc_p} %{!profile: -lc}}"
FWIW, we use the same trick on IRIX too.
>> -%{mabi=64:-64} %{mabi=n32:-n32}"
>
> Doesn't gas need these flags any more?
It does, but -mabi=* is passed down by the OS-independent bits.
>> +# Install a link that 32-bit toolchains can use.
>> +SHLIB_INSTALL += ; \
>> + case $(SHLIB_SOLINK) in \
>> + *_32.so) \
> [...]
>
> Neat!
Heh. It really isn't ;) I'd love to get rid of that bit if at all
possible. You said further up in your reply that you don't think
it's essential to have the same link-time names, so do you think
it's worth keeping?
Richard