This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Ping Re: Patch for MIPS multi-got bug with forced-local symbols
- From: Richard Sandiford <rsandifo at nildram dot co dot uk>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: binutils at sourceware dot org
- Date: Tue, 09 Oct 2007 21:35:09 +0100
- Subject: Re: Ping Re: Patch for MIPS multi-got bug with forced-local symbols
- References: <Pine.LNX.4.64.0709191207020.26095@digraph.polyomino.org.uk> <Pine.LNX.4.64.0709261156230.24212@digraph.polyomino.org.uk> <Pine.LNX.4.64.0709282249490.7411@digraph.polyomino.org.uk> <20071006205539.GA28839@caradoc.them.org> <20071008133625.GA7117@caradoc.them.org>
Daniel Jacobowitz <drow@false.org> writes:
> I see two solutions. One is to avoid setting got.offset for forced
> local symbols, and set it back to MINUS_ONE when hiding symbols.
> The other is to set got.offset but still not put such symbols in the
> global GOT when the time comes.
>
> The second is easier, since we use got.offset != MINUS_ONE in
> mips_elf_record_global_got_symbol to detect symbols with already
> allocated GOT entries. This patch implements that. It fixes
> Joseph's two new testcases, which should be committed along
> with it. I'm going to start more intensive testing now.
>
> Anyone have comments on this patch?
FWIW, it looks good to me. I think the second solution is indeed how
things are supposed to work at the moment, and if we're going to change
the datastructures, a bigger overhaul than the first option might be
useful...
Richard