This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RFA: Fix MIPS linker failures
- From: Richard Sandiford <richard at codesourcery dot com>
- To: binutils at sourceware dot org
- Date: Fri, 03 Feb 2006 21:35:35 +0000
- Subject: RFA: Fix MIPS linker failures
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 ....