summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2012-05-19 19:30:45 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2012-05-19 19:30:45 +0000
commita44acb1ed2e00707e619ef389d38572de2530d76 (patch)
treebe41b788103077d8c5cbfe126d3d939ec154d36d
parent751c1fe7eaecddf885f29a2aba76981e495371f0 (diff)
downloadppe42-binutils-a44acb1ed2e00707e619ef389d38572de2530d76.tar.gz
ppe42-binutils-a44acb1ed2e00707e619ef389d38572de2530d76.zip
* elf64-mips.c (elf_backend_got_header_size): Correct definition.
* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF backend's GOT header size instead of hardcoding it.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf64-mips.c2
-rw-r--r--bfd/elfxx-mips.c3
3 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a3daca5f00..efa6cb7b4c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
+ * elf64-mips.c (elf_backend_got_header_size): Correct definition.
+ * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Use the ELF
+ backend's GOT header size instead of hardcoding it.
+
+2012-05-19 Maciej W. Rozycki <macro@linux-mips.org>
+
* elf32-vax.c (elf_vax_relocate_section)
<R_VAX_8, R_VAX_16, R_VAX_32>: Don't check if info->shared again.
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 054b262dc4..e02f969ed8 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -4126,7 +4126,7 @@ const struct elf_size_info mips_elf64_size_info =
#define elf_backend_grok_prstatus elf64_mips_grok_prstatus
#define elf_backend_grok_psinfo elf64_mips_grok_psinfo
-#define elf_backend_got_header_size (4 * MIPS_RESERVED_GOTNO)
+#define elf_backend_got_header_size (8 * MIPS_RESERVED_GOTNO)
/* MIPS ELF64 can use a mixture of REL and RELA, but some Relocations
work better/work only in RELA, so we default to this. */
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 6dd0592917..9b4ccbf95d 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -8665,7 +8665,8 @@ _bfd_mips_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
/* On non-VxWorks targets, the first two entries in .got.plt
are reserved. */
if (!htab->is_vxworks)
- htab->sgotplt->size += 2 * MIPS_ELF_GOT_SIZE (dynobj);
+ htab->sgotplt->size
+ += get_elf_backend_data (dynobj)->got_header_size;
/* On VxWorks, also allocate room for the header's
.rela.plt.unloaded entries. */
OpenPOWER on IntegriCloud