MIPS gas/ld -xgot handling is broken for at least mips*-linux

Eric Christopher echristo@redhat.com
Wed Aug 18 17:25:00 GMT 2004


On Wed, 2004-08-18 at 09:34, Thiemo Seufer wrote:
> Hello All,
> 
> since the introduction of multi-got in the mips gas/ld the -xgot
> option breaks in ld as soon as the GOT size grows over the
> (single-GOT) 64 kB limit. ld tries to handle it as multi-GOT
> instead of a large single GOT.
> 
> I see two approaches to fix this:
> - Disallow the -xgot option for traditional mips. The appended patch
>   does so. This will leave SGI-style configurations broken. On IRIX,
>   this would imply using the native ld.

Unfortunately we can't do this since gcc is now requiring gas/ld :)

> - Let ld handle xgot compiled code as large single GOT again. For this,
>   it needs either some xgot flag, or has to generally disable multi-GOT
>   for SGI-style configurations. The elf header provides a EF_MIPS_XGOT
>   flag, but this isn't set by gas yet.

This is probably the best bet. I'd be in favor of just disabling
multi-got for irix.

-eric

-- 
Eric Christopher <echristo@redhat.com>



More information about the Binutils mailing list