RFH/RFC: symbol index overflow in MIPS linker stubs...

Richard Sandiford richard@codesourcery.com
Thu Jun 8 18:27:00 GMT 2006


David Daney <ddaney@avtrex.com> writes:
> There are three ways to do this:
>
> 1) Always use a 20 byte stub.  This allows for up to 2^31 - 1 dynamic 
> symbols.  You are concerned that this would break IRIX tools.

Well, "would"'s a bit a too strong.  It's only a vague "might".
It's o32 I'm particularly worried about: the o32 IRIX tools
are a bit weird.

That wouldn't be much of an argument if it wasn't fairly easy
to do #2 or #3, of course, but it does look fairly easy.

> 2) Use modified 16 byte stub if there are fewer than 2^16 dynamic 
> symbols, otherwise use new 20 byte stub.
>
> 3) Use original 16 byte stub if fewer than 2^15 - 1 dynamic symbols. 
> Modified 16 byte stub for 2^15 - 2^16 dynamic symbols.  Otherwise, use 
> the new 20 byte stub.
>
> Option #1 is easiest.  I already have a working patch.
>
> Options #2 and #3 are more work, which would you prefer?

I don't really mind.  #3 shouldn't be much harder than #2 though -- we
could just make the LI16 vary depending on the dynindx -- so I suppose
it wins as the ultra-safe option.

It's me who's being awkward here, especially since you've already
got a working patch, so I'm happy to try #3 if you like.

Richard



More information about the Binutils mailing list