gdb and binutils branch master updated. cb22ccf4110d82441b8d56875419d871f10f3f8f
kcy@sourceware.org
kcy@sourceware.org
Thu Apr 17 13:48:00 GMT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via cb22ccf4110d82441b8d56875419d871f10f3f8f (commit)
from 7ce16bd4c4d5e6f6a48ca7fcf532720fec0406bf (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cb22ccf4110d82441b8d56875419d871f10f3f8f
commit cb22ccf4110d82441b8d56875419d871f10f3f8f
Author: Kwok Cheung Yeung <kcy@codesourcery.com>
Date: Thu Apr 17 14:13:44 2014 +0100
This patch causes local GOT entries addressed via a 16-bit index to
be placed towards the front of local GOT space, while entries addressed
via a 32-bit index are placed towards the rear.
Provided that there are fewer than ~16K local GOT entries addressed via
a 16-bit index in total, this should eliminate any relocation overflows
caused by such GOT entries being allocated beyond the addressable range.
bfd/
* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
field. Add assigned_low_gotno and assigned_high_gotno fields.
(mips_elf_create_local_got_entry): Update out-of-space condition.
Set index of new GOT entry to assigned_low_gotno if required by
the current relocation, else set it to assigned_high_gotno.
(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
with assigned_low_gotno.
(mips_elf_multi_got): Initialize assigned_low_gotno and
assigned_high_gotno in secondary GOTs. Use assigned_low_gotno
in place of assigned_gotno when handling global GOT entries.
(mips_elf_lay_out_got): Initialize assigned_low_gotno and
assigned_high_gotno.
(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
gap in the middle of local GOT space.
ld/testsuite/
* ld-mips-elf/elf-rel-xgot-n32.d: Update for new GOT layout.
* ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
-----------------------------------------------------------------------
Summary of changes:
bfd/ChangeLog | 17 ++
bfd/elfxx-mips.c | 51 ++++--
ld/testsuite/ChangeLog | 8 +
ld/testsuite/ld-mips-elf/elf-rel-xgot-n32-embed.d | 202 ++++++++++----------
ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d | 202 ++++++++++----------
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-embed.d | 204 ++++++++++----------
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d | 204 ++++++++++----------
ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d | 203 ++++++++++----------
8 files changed, 565 insertions(+), 526 deletions(-)
hooks/post-receive
--
gdb and binutils
More information about the Binutils-cvs
mailing list