RFA: Fix MIPS linker failures
Richard Sandiford
richard@codesourcery.com
Fri Feb 3 21:35:00 GMT 2006
This patch brings the expected output of the MIPS linker tests in line
with some recent(ish) changes in ld's behaviour. There are several
reasons for the differences:
(a) HJ's patches to remove empty sections mean that fewer sections
are entered into .dynsym.
=> We save 20 bytes per section in a 32-bit file: 4 for the
.hash link and 16 for the .dynsym entry. We save 36 bytes per
section on a 64-bit file: 4 for the .hash link and 32 for the
.dynsym entry.
(b) Alan's change to hide _DYNAMIC:
http://sourceware.org/ml/binutils/2005-08/msg00190.html
which means that _DYNAMIC is not entered into .dynsym.
=> We save 29 bytes here: 4 for the .hash entry, 16 for the
.dynsym entry and 9 for the "_DYNAMIC" string in .dynstr.
(c) HJ's change to copy an output section's sh_type from the input section:
http://sourceware.org/ml/binutils/2005-10/msg00226.html
This means that output .reginfo sections get type SHT_MIPS_REGINFO
as soon as they are created, rather than in the fake_sections hook
as previously. _bfd_elf_link_omit_section_dynsym therefore decides
-- rightly, IMO -- that .reginfo shouldn't have a .dynsym entry.
=> As for (a), we save 20 bytes in .hash and .dynsym.
(d) David's change to prevent _gp_disp being copied from input DSOs:
http://sourceware.org/ml/binutils/2005-07/msg00494.html
As intended, this means that .dynsym sometimes won't include
_gp_disp in cases where it previously would have done.
=> Like (b), this is a 29-byte saving (strlen ("_DYNAMIC")
== strlen ("_gp_disp")).
(e) _fdata is now sometimes included in .dynsym.
=> This adds 27 bytes: 4 for the .hash entry, 16 for the .dynsym
entry and 7 for the symbol name.
(f) Reducing the number of .dynsym entries ((a)-(d) above) might change
the number of buckets in the hash table.
(g) Another effect of the removal of empty sections. The empty .data
section used to be placed before .rld_map and .got. For example:
[11] .data PROGBITS 10000010 010010 000000 00 WA 0 0 16
[12] .rld_map PROGBITS 10000010 010010 000004 00 WA 0 0 4
[13] .got PROGBITS 10000020 010020 000040 04 WAp 0 0 16
Because .data was empty, it would effectively force .rld_map to
be 16-byte aligned. Removing the section also removed the extra
alignment and sometimes allows .got to move down by 16 bytes.
(h) Another indirect effect of hiding _DYNAMIC.
_bfd_mips_elf_hide_symbol will only allocate a local GOT entry
for forced-local symbols if a GOT already exists. This means
that hiding _DYNAMIC will create a local GOT entry if we create
_DYNAMIC _after_ creating the GOT, but not if we create _DYNAMIC
first.
_bfd_elf_link_create_dynamic_sections is the function responsible
for creating _DYNAMIC, and it does so before calling the backend
routine. Thus everything depends on when _b_e_l_c_d_s is called.
_b_e_l_c_d_s is called lazily, and one way of triggering it is
to add a DT_NEEDED tag. Thus if you link "foo.so bar.o", "foo.so"
will cause _DYNAMIC to be created before "bar.o"'s relocs have been
processed. On the other hand, linking "bar.o foo.so" will cause
"bar.o"'s relocs to be processed first, which may in turn create
a GOT.
So sometimes you get a GOT entry for _DYNAMIC and sometimes you don't,
depending on the order of the command-line. I don't suppose this is
ideal, but it isn't exactly wrong either.
Also, .text immediately follows .dynstr and is 16-byte aligned, so if
removing symbols saves X bytes, .text will move down by either (X & ~15)
or ((X + 15) & ~15) bytes, depending on how the rounding falls out.
So, looking at the patched testcases, and comparing with working baselines,
I think the changes are as follows:
rel32-n32.d:
rel32-o32.d:
(c) -20 bytes of symbol data
.text moves down by 16 bytes.
rel64.d:
(c) -36 bytes of symbol data
.text moves down by 32 bytes.
tls-multi-got-1.got:
tls-multi-got-1.r:
(a) for .data -20 bytes of symbol data
(a) for .bss -20 bytes "
(b) -29 bytes "
(c) -20 bytes "
.text moves down by 96 bytes
tlsdyn-o32-1.got:
tlsdyn-o32-1.d:
(b) -29 bytes of symbol data
(d) -29 bytes "
(e) +27 bytes "
.text moves down by 32 bytes
.got moves down by 16 bytes becase of (g)
.got - .text therefore shrinks by 16 bytes
tlsdyn-o32-2.got:
tlsdyn-o32-2.d:
tlsdyn-o32-3.got:
tlsdyn-o32-3.d:
(b) -29 bytes of symbol data
(d) -29 bytes "
(e) +27 bytes "
.text moves down by 32 bytes
.got moves down by 16 bytes becase of (g)
.got - .text therefore shrinks by 16 bytes
.got grows by 4 bytes because of (h)
tlsdyn-o32.got:
tlsdyn-o32.d:
(b) -29 bytes of symbol data
(d) -29 bytes "
(f) -56 bytes "
.text moves down by 112 bytes
.got moves down by 16 bytes becase of (g)
.got - .text therefore shrinks by 96 bytes
tlslib-o32-hidden.got:
(a) for .data -20 bytes of symbol data
(a) for .bss -20 bytes "
(c) -20 bytes "
.text moves down by 64 bytes
tlslib-o32-ver.got:
(a) for .data -20 bytes of symbol data
(a) for .bss -20 bytes "
(b) -29 bytes "
+ .gnu_version -8 bytes "
(c) -20 bytes "
.text moves down by 112 bytes
tlslib-o32.got:
(a) for .data -20 bytes of symbol data
(a) for .bss -20 bytes "
(b) -29 bytes "
(c) -20 bytes "
.text moves down by 96 bytes
I haven't done anything about the textrel failure, which Eric
deliberately left in after reverting a patch:
http://sourceware.org/ml/binutils/2005-03/msg00750.html
Otherwise mips-elf.exp passes without any failures on mips-linux-gnu.
Tested on mips-linux-gnu. OK to install?
Richard
* ld-mips-elf/rel32-n32.d: Adjust for changes in linker behaviour.
* ld-mips-elf/rel32-o32.d: Likewise.
* ld-mips-elf/rel64.d: Likewise.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tls-multi-got-1.r: Likewise.
* ld-mips-elf/tlsdyn-o32-1.d: Likewise.
* ld-mips-elf/tlsdyn-o32-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-2.d: Likewise.
* 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/tlsdyn-o32.d: Likewise.
* ld-mips-elf/tlsdyn-o32.got: Likewise.
* ld-mips-elf/tlslib-o32-hidden.got: Likewise.
* ld-mips-elf/tlslib-o32-ver.got: Likewise.
* ld-mips-elf/tlslib-o32.got: Likewise.
Index: ld/testsuite/ld-mips-elf/rel32-n32.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/rel32-n32.d,v
retrieving revision 1.7
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.7 rel32-n32.d
--- ld/testsuite/ld-mips-elf/rel32-n32.d 18 Aug 2005 16:46:22 -0000 1.7
+++ ld/testsuite/ld-mips-elf/rel32-n32.d 3 Feb 2006 09:55:47 -0000
@@ -4,12 +4,12 @@
#readelf: -x 5 -r
#ld: -shared -melf32btsmipn32
-Relocation section '.rel.dyn' at offset 0x2c0 contains 2 entries:
+Relocation section '.rel.dyn' at offset .* contains 2 entries:
Offset Info Type Sym.Value Sym. Name
00000000 00000000 R_MIPS_NONE
-000002e0 00000003 R_MIPS_REL32
+000002d0 00000003 R_MIPS_REL32
Hex dump of section '.text':
- 0x000002d0 00000000 00000000 00000000 00000000 ................
- 0x000002e0 000002e0 00000000 00000000 00000000 ................
- 0x000002f0 00000000 00000000 00000000 00000000 ................
+ 0x000002c0 00000000 00000000 00000000 00000000 ................
+ 0x000002d0 000002d0 00000000 00000000 00000000 ................
+ 0x000002e0 00000000 00000000 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/rel32-o32.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/rel32-o32.d,v
retrieving revision 1.6
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 rel32-o32.d
--- ld/testsuite/ld-mips-elf/rel32-o32.d 18 Aug 2005 16:46:22 -0000 1.6
+++ ld/testsuite/ld-mips-elf/rel32-o32.d 3 Feb 2006 09:55:47 -0000
@@ -4,12 +4,12 @@
#readelf: -x 6 -r
#ld: -shared -melf32btsmip
-Relocation section '.rel.dyn' at offset 0x2d8 contains 2 entries:
+Relocation section '.rel.dyn' at offset .* contains 2 entries:
Offset Info Type Sym.Value Sym. Name
00000000 00000000 R_MIPS_NONE
-00000300 00000003 R_MIPS_REL32
+000002f0 00000003 R_MIPS_REL32
Hex dump of section '.text':
- 0x000002f0 00000000 00000000 00000000 00000000 ................
- 0x00000300 00000300 00000000 00000000 00000000 ................
- 0x00000310 00000000 00000000 00000000 00000000 ................
+ 0x000002e0 00000000 00000000 00000000 00000000 ................
+ 0x000002f0 000002f0 00000000 00000000 00000000 ................
+ 0x00000300 00000000 00000000 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/rel64.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/rel64.d,v
retrieving revision 1.6
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.6 rel64.d
--- ld/testsuite/ld-mips-elf/rel64.d 18 Aug 2005 16:46:22 -0000 1.6
+++ ld/testsuite/ld-mips-elf/rel64.d 3 Feb 2006 09:55:47 -0000
@@ -4,16 +4,16 @@
#readelf: -x 6 -r
#ld: -shared -melf64btsmip
-Relocation section '.rel.dyn' at offset 0x440 contains 2 entries:
+Relocation section '.rel.dyn' at offset .* contains 2 entries:
Offset Info Type Sym. Value Sym. Name
000000000000 000000000000 R_MIPS_NONE
Type2: R_MIPS_NONE
Type3: R_MIPS_NONE
-000000000470 000000001203 R_MIPS_REL32
+000000000450 000000001203 R_MIPS_REL32
Type2: R_MIPS_64
Type3: R_MIPS_NONE
Hex dump of section '.text':
+ 0x00000440 00000000 00000000 00000000 00000000 ................
+ 0x00000450 00000000 00000450 00000000 00000000 ................
0x00000460 00000000 00000000 00000000 00000000 ................
- 0x00000470 00000000 00000470 00000000 00000000 ................
- 0x00000480 00000000 00000000 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/tls-multi-got-1.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tls-multi-got-1.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tls-multi-got-1.got
--- ld/testsuite/ld-mips-elf/tls-multi-got-1.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tls-multi-got-1.got 3 Feb 2006 09:55:47 -0000
@@ -4,17 +4,17 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00149630 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0013f9a8 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0014963c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-00149640 R_MIPS_TLS_DTPREL32 tlsvar_gd
-0013f9b4 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0013f9b8 R_MIPS_TLS_DTPREL32 tlsvar_gd
-00149638 R_MIPS_TLS_TPREL32 tlsvar_ie
-0013f9b0 R_MIPS_TLS_TPREL32 tlsvar_ie
-0013602c R_MIPS_REL32 sym_2_8355
+001495d0 R_MIPS_TLS_DTPMOD32 \*ABS\*
+0013f948 R_MIPS_TLS_DTPMOD32 \*ABS\*
+001495dc R_MIPS_TLS_DTPMOD32 tlsvar_gd
+001495e0 R_MIPS_TLS_DTPREL32 tlsvar_gd
+0013f954 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0013f958 R_MIPS_TLS_DTPREL32 tlsvar_gd
+001495d8 R_MIPS_TLS_TPREL32 tlsvar_ie
+0013f950 R_MIPS_TLS_TPREL32 tlsvar_ie
+00135fcc R_MIPS_REL32 sym_2_8355
#...
-00142d4c R_MIPS_REL32 sym_1_0945
+00142cec R_MIPS_REL32 sym_1_0945
00000000 R_MIPS_NONE \*ABS\*
00000000 R_MIPS_NONE \*ABS\*
00000000 R_MIPS_NONE \*ABS\*
@@ -40,19 +40,19 @@ 00000000 R_MIPS_NONE \*ABS\*
Contents of section .got:
- 122480 00000000 80000000 00000000 00000000 ................
- 122490 00000000 00000000 00000000 00000000 ................
- 1224a0 00000000 00000000 00000000 00000000 ................
- 1224b0 00000000 000e0aac 000d35f4 000d35e4 ..........5...5.
+ 122420 00000000 80000000 00000000 00000000 ................
+ 122430 00000000 00000000 00000000 00000000 ................
+ 122440 00000000 00000000 00000000 00000000 ................
+ 122450 00000000 000e0a4c 000d3594 000d3584 ..........5...5.
#...
- 13f990 00000000 00000000 00000000 00000000 ................
- 13f9a0 00000000 00000000 00000000 00000000 ................
- 13f9b0 00000000 00000000 00000000 00000000 ................
- 13f9c0 80000000 00000000 00000000 00000000 ................
+ 13f930 00000000 00000000 00000000 00000000 ................
+ 13f940 00000000 00000000 00000000 00000000 ................
+ 13f950 00000000 00000000 00000000 00000000 ................
+ 13f960 80000000 00000000 00000000 00000000 ................
#...
- 149600 00000000 00000000 00000000 00000000 ................
- 149610 00000000 00000000 00000000 00000000 ................
- 149620 00000000 00000000 00000000 00000000 ................
- 149630 00000000 00000000 00000000 00000000 ................
- 149640 00000000 ....
+ 1495a0 00000000 00000000 00000000 00000000 ................
+ 1495b0 00000000 00000000 00000000 00000000 ................
+ 1495c0 00000000 00000000 00000000 00000000 ................
+ 1495d0 00000000 00000000 00000000 00000000 ................
+ 1495e0 00000000 ....
#pass
Index: ld/testsuite/ld-mips-elf/tls-multi-got-1.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tls-multi-got-1.r,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tls-multi-got-1.r
--- ld/testsuite/ld-mips-elf/tls-multi-got-1.r 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tls-multi-got-1.r 3 Feb 2006 09:55:47 -0000
@@ -2,41 +2,41 @@
Dynamic section at offset 0xec contains 19 entries:
Tag Type Name/Value
0x00000004 \(HASH\) 0x1ac
- 0x00000005 \(STRTAB\) 0x71e08
- 0x00000006 \(SYMTAB\) 0x23ae8
- 0x0000000a \(STRSZ\) 220100 \(bytes\)
+ 0x00000005 \(STRTAB\) 0x71db8
+ 0x00000006 \(SYMTAB\) 0x23ad8
+ 0x0000000a \(STRSZ\) 220091 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
0x00000015 \(DEBUG\) 0x0
- 0x00000003 \(PLTGOT\) 0x122480
- 0x00000011 \(REL\) 0xa79cc
+ 0x00000003 \(PLTGOT\) 0x122420
+ 0x00000011 \(REL\) 0xa7974
0x00000012 \(RELSZ\) 160072 \(bytes\)
0x00000013 \(RELENT\) 8 \(bytes\)
0x70000001 \(MIPS_RLD_VERSION\) 1
0x70000005 \(MIPS_FLAGS\) NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) 0
0x7000000a \(MIPS_LOCAL_GOTNO\) 13
- 0x70000011 \(MIPS_SYMTABNO\) 20018
- 0x70000012 \(MIPS_UNREFEXTNO\) 15
- 0x70000013 \(MIPS_GOTSYM\) 0x12
+ 0x70000011 \(MIPS_SYMTABNO\) 20014
+ 0x70000012 \(MIPS_UNREFEXTNO\) 11
+ 0x70000013 \(MIPS_GOTSYM\) 0xe
0x0000001e \(FLAGS\) STATIC_TLS
0x00000000 \(NULL\) 0x0
Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20031 entries:
Offset Info Type Sym.Value Sym. Name
00000000 00000000 R_MIPS_NONE
-00149630 00000026 R_MIPS_TLS_DTPMOD
-0013f9a8 00000026 R_MIPS_TLS_DTPMOD
-0014963c 00000a26 R_MIPS_TLS_DTPMOD 00000000 tlsvar_gd
-00149640 00000a27 R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
-0013f9b4 00000a26 R_MIPS_TLS_DTPMOD 00000000 tlsvar_gd
-0013f9b8 00000a27 R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
-00149638 0000102f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
-0013f9b0 0000102f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
-0013602c 00001203 R_MIPS_REL32 000e0aac sym_2_8355
-0014250c 00001303 R_MIPS_REL32 000d35f4 sym_1_4745
+001495d0 00000026 R_MIPS_TLS_DTPMOD
+0013f948 00000026 R_MIPS_TLS_DTPMOD
+001495dc 00000626 R_MIPS_TLS_DTPMOD 00000000 tlsvar_gd
+001495e0 00000627 R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
+0013f954 00000626 R_MIPS_TLS_DTPMOD 00000000 tlsvar_gd
+0013f958 00000627 R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
+001495d8 00000c2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
+0013f950 00000c2f R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
+00135fcc 00000e03 R_MIPS_REL32 000e0a4c sym_2_8355
+001424ac 00000f03 R_MIPS_REL32 000d3594 sym_1_4745
#...
-00136a10 004e3003 R_MIPS_REL32 000da990 sym_2_2140
-00142d4c 004e3103 R_MIPS_REL32 000cfa94 sym_1_0945
+001369b0 004e2c03 R_MIPS_REL32 000da930 sym_2_2140
+00142cec 004e2d03 R_MIPS_REL32 000cfa34 sym_1_0945
00000000 00000000 R_MIPS_NONE
00000000 00000000 R_MIPS_NONE
00000000 00000000 R_MIPS_NONE
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-1.d
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d 3 Feb 2006 09:55:47 -0000
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b60 addiu gp,gp,31584
+ .*: 279c7b70 addiu gp,gp,31600
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7aa0 addiu gp,gp,31392
+ .*: 279c7ab0 addiu gp,gp,31408
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-1.got
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got 3 Feb 2006 09:55:47 -0000
@@ -4,16 +4,16 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000044 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000048 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000038 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+1000003c R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000040 R_MIPS_TLS_TPREL32 tlsvar_ie
+1000004c R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040055c .............@..
- 10000040 00000001 00000000 00000000 00000000 ................
- 10000050 00000000 00000000 00000000 00000000 ................
+ 10000010 00000000 80000000 00000000 00000000 ................
+ 10000020 00000000 00000000 00000000 0040053c .............@..
+ 10000030 00000001 00000000 00000000 00000000 ................
+ 10000040 00000000 00000000 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-2.d
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d 3 Feb 2006 09:55:47 -0000
@@ -5,26 +5,26 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b60 addiu gp,gp,31584
+ .*: 279c7b70 addiu gp,gp,31600
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848048 addiu a0,gp,-32696
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 2784803c addiu a0,gp,-32708
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838050 lw v1,-32688\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f838044 lw v1,-32700\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -55,26 +55,26 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7aa0 addiu gp,gp,31392
+ .*: 279c7ab0 addiu gp,gp,31408
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848048 addiu a0,gp,-32696
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 2784803c addiu a0,gp,-32708
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -83,10 +83,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838050 lw v1,-32688\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f838044 lw v1,-32700\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-2.got
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got 3 Feb 2006 09:55:47 -0000
@@ -4,17 +4,17 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000048 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+1000004c R_MIPS_TLS_DTPREL32 tlsbin_gd
+1000003c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000040 R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000044 R_MIPS_TLS_TPREL32 tlsvar_ie
+10000050 R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040055c .............@..
- 10000040 00000001 00000000 00000000 00000000 ................
+ 10000010 00000000 80000000 00000000 00000000 ................
+ 10000020 00000000 00000000 00000000 00000000 ................
+ 10000030 0040053c 00000001 00000000 00000000 .@.<............
+ 10000040 00000000 00000000 00000000 00000000 ................
10000050 00000000 00000000 00000000 00000000 ................
- 10000060 00000000 00000000 00000000 ............
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-3.d
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d 3 Feb 2006 09:55:47 -0000
@@ -5,26 +5,26 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b60 addiu gp,gp,31584
+ .*: 279c7b70 addiu gp,gp,31600
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848048 addiu a0,gp,-32696
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 2784803c addiu a0,gp,-32708
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838050 lw v1,-32688\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f838044 lw v1,-32700\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -51,26 +51,26 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7ab0 addiu gp,gp,31408
+ .*: 279c7ac0 addiu gp,gp,31424
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848048 addiu a0,gp,-32696
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 2784803c addiu a0,gp,-32708
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998030 lw t9,-32720\(gp\)
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -79,10 +79,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838050 lw v1,-32688\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f838044 lw v1,-32700\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32-3.got
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got 3 Feb 2006 09:55:47 -0000
@@ -4,17 +4,17 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000048 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+1000004c R_MIPS_TLS_DTPREL32 tlsbin_gd
+1000003c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000040 R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000044 R_MIPS_TLS_TPREL32 tlsvar_ie
+10000050 R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040060c .............@..
- 10000040 00000001 00000000 00000000 00000000 ................
+ 10000010 00000000 80000000 00000000 00000000 ................
+ 10000020 00000000 00000000 00000000 00000000 ................
+ 10000030 004005ec 00000001 00000000 00000000 .@..............
+ 10000040 00000000 00000000 00000000 00000000 ................
10000050 00000000 00000000 00000000 00000000 ................
- 10000060 00000000 00000000 00000000 ............
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32.d,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32.d
--- ld/testsuite/ld-mips-elf/tlsdyn-o32.d 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32.d 3 Feb 2006 09:55:47 -0000
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b50 addiu gp,gp,31568
+ .*: 279c7bb0 addiu gp,gp,31664
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlsdyn-o32.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlsdyn-o32.got
--- ld/testsuite/ld-mips-elf/tlsdyn-o32.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32.got 3 Feb 2006 09:55:47 -0000
@@ -4,16 +4,16 @@ tmpdir/tls-dynamic-o32: file format
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000048 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000005c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000054 R_MIPS_TLS_TPREL32 tlsbin_ie
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
+10000038 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+1000003c R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000044 R_MIPS_TLS_TPREL32 tlsbin_ie
+10000040 R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040056c ................
- 10000040 00000001 00000000 00000000 00000000 ................
- 10000050 00000000 00000000 00000000 00000000 ................
+ 10000010 00000000 80000000 00000000 00000000 ................
+ 10000020 00000000 00000000 00000000 004004fc ................
+ 10000030 00000001 00000000 00000000 00000000 ................
+ 10000040 00000000 00000000 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlslib-o32-hidden.got
--- ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got 3 Feb 2006 09:55:47 -0000
@@ -4,13 +4,13 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-0004043c R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040434 R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040430 R_MIPS_TLS_TPREL32 \*ABS\*
+000403fc R_MIPS_TLS_DTPMOD32 \*ABS\*
+000403f4 R_MIPS_TLS_DTPMOD32 \*ABS\*
+000403f0 R_MIPS_TLS_TPREL32 \*ABS\*
Contents of section .got:
- 40410 00000000 80000000 00000000 00000000 ................
- 40420 00000000 00000000 00000000 000003e0 ................
- 40430 00000008 00000000 00000000 00000000 ................
- 40440 ffff8004 ....
+ 403d0 00000000 80000000 00000000 00000000 ................
+ 403e0 00000000 00000000 00000000 000003a0 ................
+ 403f0 00000008 00000000 00000000 00000000 ................
+ 40400 ffff8004 ....
Index: ld/testsuite/ld-mips-elf/tlslib-o32-ver.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlslib-o32-ver.got
--- ld/testsuite/ld-mips-elf/tlslib-o32-ver.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlslib-o32-ver.got 3 Feb 2006 09:55:47 -0000
@@ -4,14 +4,14 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-000405e4 R_MIPS_TLS_DTPMOD32 \*ABS\*
-000405ec R_MIPS_TLS_DTPMOD32 tlsvar_gd
-000405f0 R_MIPS_TLS_DTPREL32 tlsvar_gd
-000405e0 R_MIPS_TLS_TPREL32 tlsvar_ie
+00040574 R_MIPS_TLS_DTPMOD32 \*ABS\*
+0004057c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+00040580 R_MIPS_TLS_DTPREL32 tlsvar_gd
+00040570 R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 405c0 00000000 80000000 00000000 00000000 ................
- 405d0 00000000 00000000 00000000 00000590 ................
- 405e0 00000000 00000000 00000000 00000000 ................
- 405f0 00000000 ....
+ 40550 00000000 80000000 00000000 00000000 ................
+ 40560 00000000 00000000 00000000 00000520 ................
+ 40570 00000000 00000000 00000000 00000000 ................
+ 40580 00000000 ....
Index: ld/testsuite/ld-mips-elf/tlslib-o32.got
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mips-elf/tlslib-o32.got,v
retrieving revision 1.1
diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.1 tlslib-o32.got
--- ld/testsuite/ld-mips-elf/tlslib-o32.got 2 Mar 2005 21:22:57 -0000 1.1
+++ ld/testsuite/ld-mips-elf/tlslib-o32.got 3 Feb 2006 09:55:47 -0000
@@ -4,14 +4,14 @@ tmpdir/tlslib-o32.so: file format el
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040534 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0004053c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-00040540 R_MIPS_TLS_DTPREL32 tlsvar_gd
-00040530 R_MIPS_TLS_TPREL32 tlsvar_ie
+000404d4 R_MIPS_TLS_DTPMOD32 \*ABS\*
+000404dc R_MIPS_TLS_DTPMOD32 tlsvar_gd
+000404e0 R_MIPS_TLS_DTPREL32 tlsvar_gd
+000404d0 R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 40510 00000000 80000000 00000000 00000000 ................
- 40520 00000000 00000000 00000000 000004e0 ................
- 40530 00000000 00000000 00000000 00000000 ................
- 40540 00000000 ....
+ 404b0 00000000 80000000 00000000 00000000 ................
+ 404c0 00000000 00000000 00000000 00000480 ................
+ 404d0 00000000 00000000 00000000 00000000 ................
+ 404e0 00000000 ....
More information about the Binutils
mailing list