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: binutils at sourceware dot org, kaminaga at sm dot sony dot co dot jp, richard at codesourcery dot com
- Date: Mon, 13 Aug 2007 19:12:09 +0100
- Subject: Re: Fixes to _bfd_mips_elf_hide_symbol
- References: <87sl6qqkzk.fsf@firetop.home>
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.
Thiemo