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]

Re: RFC: Do not install specs file


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


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