aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2008-08-06 19:49:06 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2008-08-06 19:49:06 +0000
commit4e41d0d7c3dcff6898ecfe038357e68c47144c70 (patch)
treea7ffa667529dc7587aed5d3f620f6cd5a1b001a7 /ld
parent738e53487d7edb6b7428b889dcb0721d3d9e2c43 (diff)
downloadgdb-4e41d0d7c3dcff6898ecfe038357e68c47144c70.zip
gdb-4e41d0d7c3dcff6898ecfe038357e68c47144c70.tar.gz
gdb-4e41d0d7c3dcff6898ecfe038357e68c47144c70.tar.bz2
bfd/
* elfxx-mips.c (mips_elf_link_hash_table): Add an "sstubs" field. (_bfd_mips_elf_create_dynamic_sections): Use it to cache the stubs section. Don't check whether the section already exists. (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->sstubs. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_sections): Likewise. (_bfd_mips_elf_size_dynamic_sections): Likewise. Don't add the dummy stub to an empty section. (_bfd_mips_elf_link_hash_table_create): Initialize the "sstubs" field. ld/testsuite/ * ld-mips-elf/tls-hidden3.ld: Remove the unused .MIPS.stubs section. Keep the text start address the same. * ld-mips-elf/tls-multi-got-1.got: We have removed a .MIPS.stubs section that contained only a 16-byte dummy stub. Subtract 16 from addresses to account for the change. * ld-mips-elf/tls-multi-got-1.r: Likewise. Adjust MIPS_UNREFEXTNO to account the removed section symbol. * ld-mips-elf/tlsdyn-o32-1.d: We have deleted a .MIPS.stubs section that contained only a 16-byte dummy stub. Remove it from the disassembly. * ld-mips-elf/tlsdyn-o32-2.d: Likewise. * ld-mips-elf/tlsdyn-o32-3.d: Likewise. * ld-mips-elf/tlsdyn-o32.d: Likewise. * ld-mips-elf/relax-jalr-n32-shared.d: Likewise. * ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog18
-rw-r--r--ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d2
-rw-r--r--ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d2
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden3.ld5
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.got34
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.r4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32.d4
10 files changed, 38 insertions, 43 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 60e3601..2b50e53 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,5 +1,23 @@
2008-08-06 Richard Sandiford <rdsandiford@googlemail.com>
+ * ld-mips-elf/tls-hidden3.ld: Remove the unused .MIPS.stubs section.
+ Keep the text start address the same.
+ * ld-mips-elf/tls-multi-got-1.got: We have removed a .MIPS.stubs
+ section that contained only a 16-byte dummy stub. Subtract 16
+ from addresses to account for the change.
+ * ld-mips-elf/tls-multi-got-1.r: Likewise. Adjust MIPS_UNREFEXTNO
+ to account the removed section symbol.
+ * ld-mips-elf/tlsdyn-o32-1.d: We have deleted a .MIPS.stubs
+ section that contained only a 16-byte dummy stub. Remove it
+ from the disassembly.
+ * ld-mips-elf/tlsdyn-o32-2.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32-3.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32.d: Likewise.
+ * ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
+ * ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
+
+2008-08-06 Richard Sandiford <rdsandiford@googlemail.com>
+
* ld-mips-elf/mips16-local-stubs-1.d: Remove stub_for_h3,
which was only referenced by the .pdr section, and was not
actually needed by code.
diff --git a/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d b/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
index 8753ba4..c9288c1 100644
--- a/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
+++ b/ld/testsuite/ld-mips-elf/relax-jalr-n32-shared.d
@@ -21,5 +21,3 @@ Disassembly of section \.text:
.* bal .* <__start>
.* nop
\.\.\.
-Disassembly of section \.MIPS\.stubs:
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d b/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
index 47936d2..e26d5f1 100644
--- a/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
+++ b/ld/testsuite/ld-mips-elf/relax-jalr-n64-shared.d
@@ -21,5 +21,3 @@ Disassembly of section \.text:
.* bal .* <__start>
.* nop
\.\.\.
-Disassembly of section \.MIPS\.stubs:
- \.\.\.
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.ld b/ld/testsuite/ld-mips-elf/tls-hidden3.ld
index b3d0584..261edce 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.ld
+++ b/ld/testsuite/ld-mips-elf/tls-hidden3.ld
@@ -9,10 +9,7 @@ SECTIONS
. = ALIGN (0x400);
.rel.dyn : { *(.rel.dyn) }
- . = ALIGN (0x400);
- .MIPS.stubs : { *(.MIPS.stubs) }
-
- . = ALIGN (0x400);
+ . = ALIGN (0x400) + 0x400;
.text : { *(.text) }
. = ALIGN (0x10000);
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 b8cacfa..b62d413 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
@@ -4,33 +4,33 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-0013f840 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0014949c R_MIPS_TLS_DTPMOD32 \*ABS\*
-0013f84c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0013f850 R_MIPS_TLS_DTPREL32 tlsvar_gd
-001494a8 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-001494ac R_MIPS_TLS_DTPREL32 tlsvar_gd
-0013f848 R_MIPS_TLS_TPREL32 tlsvar_ie
-001494a4 R_MIPS_TLS_TPREL32 tlsvar_ie
-00143e48 R_MIPS_REL32 sym_1_9526
+0013f830 R_MIPS_TLS_DTPMOD32 \*ABS\*
+0014948c R_MIPS_TLS_DTPMOD32 \*ABS\*
+0013f83c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0013f840 R_MIPS_TLS_DTPREL32 tlsvar_gd
+00149498 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0014949c R_MIPS_TLS_DTPREL32 tlsvar_gd
+0013f838 R_MIPS_TLS_TPREL32 tlsvar_ie
+00149494 R_MIPS_TLS_TPREL32 tlsvar_ie
+00143e38 R_MIPS_REL32 sym_1_9526
#...
-00139ac8 R_MIPS_REL32 sym_2_8654
+00139ab8 R_MIPS_REL32 sym_2_8654
Contents of section .got:
- 122370 00000000 80000000 000d7f98 000d65f4 .*
- 122380 000d1fa4 000d6010 000d5a48 000d19c0 .*
+ 122360 00000000 80000000 000d7f98 000d65f4 .*
+ 122370 000d1fa4 000d6010 000d5a48 000d19c0 .*
#...
- 135bf0 000cf204 000e0e48 00000000 80000000 .*
- 135c00 00000000 00000000 00000000 00000000 .*
+ 135be0 000cf204 000e0e48 00000000 80000000 .*
+ 135bf0 00000000 00000000 00000000 00000000 .*
#...
+ 13f820 00000000 00000000 00000000 00000000 .*
13f830 00000000 00000000 00000000 00000000 .*
- 13f840 00000000 00000000 00000000 00000000 .*
- 13f850 00000000 00000000 80000000 00000000 .*
+ 13f840 00000000 00000000 80000000 00000000 .*
#...
+ 149450 00000000 00000000 00000000 00000000 .*
149460 00000000 00000000 00000000 00000000 .*
149470 00000000 00000000 00000000 00000000 .*
149480 00000000 00000000 00000000 00000000 .*
149490 00000000 00000000 00000000 00000000 .*
- 1494a0 00000000 00000000 00000000 00000000 .*
#pass
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 5ef19f6..a51abf1 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
@@ -6,7 +6,7 @@ Dynamic section at offset .* contains 18 entries:
0x00000006 \(SYMTAB\).*
0x0000000a \(STRSZ\) 220091 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
- 0x00000003 \(PLTGOT\) 0x122370
+ 0x00000003 \(PLTGOT\) 0x122360
0x00000011 \(REL\) 0xa7978
0x00000012 \(RELSZ\) 160072 \(bytes\)
0x00000013 \(RELENT\) 8 \(bytes\)
@@ -15,7 +15,7 @@ Dynamic section at offset .* contains 18 entries:
0x70000006 \(MIPS_BASE_ADDRESS\) 0
0x7000000a \(MIPS_LOCAL_GOTNO\) 2
0x70000011 \(MIPS_SYMTABNO\) 20013
- 0x70000012 \(MIPS_UNREFEXTNO\) 11
+ 0x70000012 \(MIPS_UNREFEXTNO\) 10
0x70000013 \(MIPS_GOTSYM\) 0xd
0x0000001e \(FLAGS\) STATIC_TLS
0x00000000 \(NULL\) 0x0
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
index 2ff4260..bf803c88 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
@@ -98,7 +98,3 @@ Disassembly of section .text:
.*: 03e00008 jr ra
.*: 27bd0010 addiu sp,sp,16
.*: 00000000 nop
-Disassembly of section .MIPS.stubs:
-
-.* <.MIPS.stubs>:
- ...
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
index 2ff4260..bf803c88 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
@@ -98,7 +98,3 @@ Disassembly of section .text:
.*: 03e00008 jr ra
.*: 27bd0010 addiu sp,sp,16
.*: 00000000 nop
-Disassembly of section .MIPS.stubs:
-
-.* <.MIPS.stubs>:
- ...
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
index 994585a..4a3a0e1 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
@@ -98,7 +98,3 @@ Disassembly of section .text:
.*: 03e00008 jr ra
.*: 00000000 nop
...
-Disassembly of section .MIPS.stubs:
-
-.* <.MIPS.stubs>:
- ...
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
index 2c55921..32c3e7d 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
@@ -52,7 +52,3 @@ Disassembly of section .text:
.*: 03e00008 jr ra
.*: 00000000 nop
...
-Disassembly of section .MIPS.stubs:
-
-.* <.MIPS.stubs>:
- ...