aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2006-10-20 07:58:17 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2006-10-20 07:58:17 +0000
commitbcfdf036c8f094a9e43e2de47dd5e6ea00e1f816 (patch)
tree8560a4415b4f26bbe8769a72eca9611b6860e89d
parent98c904a8640de8891570902ac9d1ef6153092a18 (diff)
downloadgdb-bcfdf036c8f094a9e43e2de47dd5e6ea00e1f816.zip
gdb-bcfdf036c8f094a9e43e2de47dd5e6ea00e1f816.tar.gz
gdb-bcfdf036c8f094a9e43e2de47dd5e6ea00e1f816.tar.bz2
bfd/
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the size of .rel.dyn reflect the value of DT_RELSZ. ld/testsuite/ * ld-mips-elf/multi-got-1.d: Remove trailing R_MIPS_NONE entries. * ld-mips-elf/tls-multi-got-1.got: Likewise. * ld-mips-elf/tls-multi-got-1.r: Likewise.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfxx-mips.c4
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-mips-elf/multi-got-1.d12
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.got22
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.r3
6 files changed, 17 insertions, 35 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 5a1cbd3..304783a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2006-10-20 Richard Sandiford <richard@codesourcery.com>
+ * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the
+ size of .rel.dyn reflect the value of DT_RELSZ.
+
+2006-10-20 Richard Sandiford <richard@codesourcery.com>
+
* elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate
a PT_NULL header for dynamic objects.
(_bfd_mips_elf_modify_segment_map): Add it.
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 639a065..34a06c8 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -8873,6 +8873,10 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
* (ABI_64_P (output_bfd)
? sizeof (Elf64_Mips_External_Rel)
: sizeof (Elf32_External_Rel)));
+ /* Adjust the section size too. Tools like the prelinker
+ can reasonably expect the values to the same. */
+ elf_section_data (s->output_section)->this_hdr.sh_size
+ = dyn.d_un.d_val;
break;
default:
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 22cdf09..2c8ea09 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2006-10-20 Richard Sandiford <richard@codesourcery.com>
+ * ld-mips-elf/multi-got-1.d: Remove trailing R_MIPS_NONE entries.
+ * ld-mips-elf/tls-multi-got-1.got: Likewise.
+ * ld-mips-elf/tls-multi-got-1.r: Likewise.
+
+2006-10-20 Richard Sandiford <richard@codesourcery.com>
+
* ld-mips-elf/multi-got-1.d: Do not expect a particular address
for DT_HASH.
* ld-mips-elf/rel32-o32.d: Bump addresses by 0x20 to account for
diff --git a/ld/testsuite/ld-mips-elf/multi-got-1.d b/ld/testsuite/ld-mips-elf/multi-got-1.d
index 3912439..db76eea 100644
--- a/ld/testsuite/ld-mips-elf/multi-got-1.d
+++ b/ld/testsuite/ld-mips-elf/multi-got-1.d
@@ -25,7 +25,7 @@ Dynamic section at offset .* contains 17 entries:
0x70000013 \(MIPS_GOTSYM\) 0x[0-9a-f]+
0x00000000 \(NULL\) 0x0
-Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 8203 entries:
+Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 8193 entries:
Offset Info Type Sym.Value Sym. Name
00000000 00000000 R_MIPS_NONE
^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_[0-9]+
@@ -8220,13 +8220,3 @@ Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 8203 entries:
^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_[0-9]+
^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_[0-9]+
^[0-9a-f]+ [0-9a-f]+ R_MIPS_REL32 [0-9a-f]+ sym_2_[0-9]+
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
-00000000 00000000 R_MIPS_NONE
diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
index 4ee502f..649baae 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
@@ -15,28 +15,6 @@ OFFSET TYPE VALUE
00143f7c R_MIPS_REL32 sym_1_9526
#...
00139bd0 R_MIPS_REL32 sym_2_8654
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
-00000000 R_MIPS_NONE \*ABS\*
Contents of section .got:
diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
index c63d230..db44114 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
@@ -20,7 +20,7 @@ Dynamic section at offset .* contains 18 entries:
0x0000001e \(FLAGS\) STATIC_TLS
0x00000000 \(NULL\) 0x0
-Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20031 entries:
+Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20009 entries:
Offset Info Type Sym.Value Sym. Name
[0-9a-f ]+R_MIPS_NONE
[0-9a-f ]+R_MIPS_TLS_DTPMOD
@@ -36,4 +36,3 @@ Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20031 entries:
#...
[0-9a-f ]+R_MIPS_REL32 000cf2b4 sym_1_0465
[0-9a-f ]+R_MIPS_REL32 000e0ef8 sym_2_8654
-#...