This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Fixes to _bfd_mips_elf_hide_symbol
- From: Thiemo Seufer <ths at networkno dot de>
- To: drow at false dot org, richard at codesourcery dot com
- Cc: binutils at sourceware dot org, kaminaga at sm dot sony dot co dot jp
- Date: Sat, 18 Aug 2007 13:55:35 +0100
- Subject: Re: Fixes to _bfd_mips_elf_hide_symbol
- References: <87sl6qqkzk.fsf@firetop.home> <20070813181209.GC19507@networkno.de>
Thiemo Seufer wrote:
> Richard Sandiford wrote:
> [snip]
> > Tested on mips-linux-gnu, mips64-linux-gnu and mips-wrs-vxworks.
> > OK to install?
> >
> > Richard
> >
> >
> > bfd/
> > * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
> > (mips_elf_record_global_got_symbol): Increment local_gotno for
> > each forced-local symbol.
> > (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
> > mips_elf_record_global_got_symbol for VxWorks too.
> > (_bfd_mips_elf_always_size_sections): Set it to true after computing
> > the GOT size.
> > (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
> > got.offset == 1. Only adjust global_gotno if computed_got_sizes.
> > For VxWorks, add a local entry when hiding a symbol that needs a
> > plt but has not been marked as needing a global got entry.
> > (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
> > false.
> >
> > ld/testsuite/
> > * ld-mips-elf/vxworks-forced-local-1.d,
> > * ld-mips-elf/vxworks-forced-local-1.s,
> > * ld-mips-elf/vxworks-forced-local-1.ver: New test.
> > * ld-mips-elf/mips-elf.exp: Run it.
> > * ld-mips-elf/tlsdyn-o32-2.d: Adjust for removal of unnecessary
> > local GOT entry.
> > * ld-mips-elf/tlsdyn-o32-2.got: Likewise.
> > * ld-mips-elf/tlsdyn-o32-3.d: Likewise.
> > * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
> > * ld-mips-elf/vxworks1-lib.dd: Likewise.
> > * ld-mips-elf/vxworks1-lib.rd: Likewise.
>
> Ok.
Richard, Daniel, I think this should also go in the 2.18 branch.
Thiemo