* ld-mips-elf/eh-frame5.ld: Likewise.
* ld-mips-elf/got-dump-1.ld: Likewise.
* ld-mips-elf/got-dump-2.ld: Likewise.
* ld-mips-elf/got-page-1.ld: Likewise.
* ld-mips-elf/mips-dyn.ld: Likewise.
* ld-mips-elf/mips-lib.ld: Likewise.
* ld-mips-elf/mips16-pic-1.ld: Likewise.
* ld-mips-elf/no-shared-1.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-1.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-3a.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-4b.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.ld: Likewise.
* ld-mips-elf/pic-and-nonpic-6.ld: Likewise.
* ld-mips-elf/reloc-2.ld: Likewise.
* ld-mips-elf/reloc-estimate-1.ld: Likewise.
* ld-mips-elf/stub-dynsym-1.ld: Likewise.
* ld-mips-elf/tls-hidden3.ld: Likewise.
* ld-mips-elf/mips16-pic-2.ad: Update accordingly.
* ld-mips-elf/pic-and-nonpic-3b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
* ld-mips-elf/eh-frame5.d: Likewise.
* ld-mips-elf/tlsdyn-o32-1.d: Likewise.
* 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/pic-and-nonpic-3a.dd: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.dd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
* ld-mips-elf/tls-multi-got-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
* ld-mips-elf/tlsdyn-o32.got: Likewise.
* ld-mips-elf/tlslib-o32-ver.got: Likewise.
* ld-mips-elf/tlslib-o32.got: Likewise.
* ld-mips-elf/mips16-pic-2.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-1.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-4b.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n32.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n64.nd: Likewise.
* ld-mips-elf/pic-and-nonpic-6-o32.nd: Likewise.
* ld-mips-elf/tls-multi-got-1.r: Likewise.
* ld-mips-elf/pic-and-nonpic-3b.rd: Likewise.
* ld-mips-elf/pic-and-nonpic-4b.rd: Likewise.
* ld-mips-elf/mips-elf.exp: Likewise.
+2012-08-06 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * ld-mips-elf/dyn-sec64.ld: Use HIDDEN to define _gp.
+ * ld-mips-elf/eh-frame5.ld: Likewise.
+ * ld-mips-elf/got-dump-1.ld: Likewise.
+ * ld-mips-elf/got-dump-2.ld: Likewise.
+ * ld-mips-elf/got-page-1.ld: Likewise.
+ * ld-mips-elf/mips-dyn.ld: Likewise.
+ * ld-mips-elf/mips-lib.ld: Likewise.
+ * ld-mips-elf/mips16-pic-1.ld: Likewise.
+ * ld-mips-elf/no-shared-1.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-1.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3a.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-4b.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.ld: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6.ld: Likewise.
+ * ld-mips-elf/reloc-2.ld: Likewise.
+ * ld-mips-elf/reloc-estimate-1.ld: Likewise.
+ * ld-mips-elf/stub-dynsym-1.ld: Likewise.
+ * ld-mips-elf/tls-hidden3.ld: Likewise.
+ * ld-mips-elf/mips16-pic-2.ad: Update accordingly.
+ * ld-mips-elf/pic-and-nonpic-3b.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
+ * ld-mips-elf/eh-frame5.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32-1.d: Likewise.
+ * 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/pic-and-nonpic-3a.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
+ * ld-mips-elf/tls-multi-got-1.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32-1.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32-2.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32.got: Likewise.
+ * ld-mips-elf/tlslib-o32-ver.got: Likewise.
+ * ld-mips-elf/tlslib-o32.got: Likewise.
+ * ld-mips-elf/mips16-pic-2.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-1.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-4b.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n32.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n64.nd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-o32.nd: Likewise.
+ * ld-mips-elf/tls-multi-got-1.r: Likewise.
+ * ld-mips-elf/pic-and-nonpic-3b.rd: Likewise.
+ * ld-mips-elf/pic-and-nonpic-4b.rd: Likewise.
+ * ld-mips-elf/mips-elf.exp: Likewise.
+
2012-08-06 Maciej W. Rozycki <macro@codesourcery.com>
* ld-mips-elf/gp-hidden.rd: New test.
.MIPS.stubs : { *(.MIPS.stubs) }
. = 0x1235000000000;
- _gp = ALIGN (16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
.data : { *(.data) }
}
-Relocation section '.rel.dyn' at offset 0x101f0 contains 8 entries:
+Relocation section '.rel.dyn' at offset 0x101dc contains 8 entries:
Offset Info Type Sym.Value Sym. Name
00000000 .* R_MIPS_NONE *
#
. = 0x10000;
.data : { *(.data) }
. = 0x10400;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
}
. = 0x60000;
.data : { *(.data) }
- _gp = ALIGN (16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
}
. = 0x1236000000000;
.data : { *(.data) }
- _gp = ALIGN (16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
}
.text : { *(.text) }
. = ALIGN (0x10000);
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = ALIGN (0x400);
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- _gp = ALIGN(16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN(16) + 0x7ff0);
.got : { *(.got.plt) *(.got) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
#
# the null symbol entry
# the .MIPS.stubs section symbol
- # _gp
# _GLOBAL_OFFSET_TABLE_
- set base_syms 4
+ set base_syms 3
foreach dynsym { 7fff 8000 fff0 10000 2fe80 } {
run_ld_link_tests \
[list [list \
SORT(CONSTRUCTORS)
}
.data1 : { *(.data1) }
- _gp = ALIGN(16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN(16) + 0x7ff0);
.got : { *(.got.plt) *(.got) }
.sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) }
.sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
.rel.plt : { *(.rel.plt) }
.rel.dyn : { *(.rel.dyn) }
. = 0x50000;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = 0x50400;
.data : { *(.data) }
# [MIPS_GOTSYM, MIPS_SYMTABNO) covers used4...used7.
#...
- .* \(MIPS_SYMTABNO\) * 10
+ .* \(MIPS_SYMTABNO\) * 9
#...
- .* \(MIPS_GOTSYM\) * 0x6
+ .* \(MIPS_GOTSYM\) * 0x5
#pass
# used8 should come before MIPS_GOTSYM.
#...
- +4: 000405bc +36 +FUNC +GLOBAL +DEFAULT .* used8
- +5: .* _GLOBAL_OFFSET_TABLE_
- +6: 00040574 +36 +FUNC +GLOBAL +DEFAULT .* used6
- +7: 00040598 +36 +FUNC +GLOBAL +DEFAULT .* used7
- +8: 00040550 +36 +FUNC +GLOBAL +DEFAULT .* used5
- +9: 0004052c +36 +FUNC +GLOBAL +DEFAULT .* used4
+ +3: 000405bc +36 +FUNC +GLOBAL +DEFAULT .* used8
+ +4: .* _GLOBAL_OFFSET_TABLE_
+ +5: 00040574 +36 +FUNC +GLOBAL +DEFAULT .* used6
+ +6: 00040598 +36 +FUNC +GLOBAL +DEFAULT .* used7
+ +7: 00040550 +36 +FUNC +GLOBAL +DEFAULT .* used5
+ +8: 0004052c +36 +FUNC +GLOBAL +DEFAULT .* used4
#pass
. = 0x60000;
.data : { *(.data) }
- _gp = ALIGN (16) + 0x7ff0;
+ HIDDEN (_gp = ALIGN (16) + 0x7ff0);
.got : { *(.got) }
}
.pdr : { *(.pdr) }
. = 0x41000;
.text : { *(.text) }
- _gp = 0x68000;
+ HIDDEN (_gp = 0x68000);
}
#...
+.*: 00068000 +0 +NOTYPE +LOCAL +DEFAULT +ABS _gp
.*: 00041018 +8 +FUNC +LOCAL +DEFAULT .* .pic.f1
.*: 00041000 +16 +FUNC +LOCAL +DEFAULT .* .pic.f2
.*: 00000000 +0 +OBJECT +GLOBAL +DEFAULT +UND _gp_disp
-.*: 00068000 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _gp
.*: 00041050 +14 +FUNC +GLOBAL +DEFAULT +\[MIPS16\] .* f3
.*: 00041060 +24 +FUNC +GLOBAL +DEFAULT .* __start
.*: 0004103c +20 +FUNC +GLOBAL +DEFAULT .* f2
c00: 8f998010 lw t9,-32752\(gp\)
c04: 03e07821 move t7,ra
c08: 0320f809 jalr t9
- c0c: 24180007 li t8,7
+ c0c: 24180006 li t8,6
\.\.\.
.data : { *(.data) }
. = ALIGN (0x400);
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
}
# This must be the number of GOT entries - 1, the last entry being for "bar".
0x7000000a \(MIPS_LOCAL_GOTNO\) * 3
# This must be MIPS_GOTSYM + 1.
- 0x70000011 \(MIPS_SYMTABNO\) * 8
+ 0x70000011 \(MIPS_SYMTABNO\) * 7
0x70000012 \(MIPS_UNREFEXTNO\) .*
# This must be the index of "bar".
- 0x70000013 \(MIPS_GOTSYM\) * 0x7
+ 0x70000013 \(MIPS_GOTSYM\) * 0x6
0x00000014 \(PLTREL\) * REL
0x00000017 \(JMPREL\) * 0x43000
0x00000002 \(PLTRELSZ\) * 8 \(bytes\)
.*: 8f998010 lw t9,-32752\(gp\)
.*: 03e07821 move t7,ra
.*: 0320f809 jalr t9
-.*: 24180007 li t8,7
+.*: 24180006 li t8,6
\.\.\.
.got.plt : { *(.got.plt) }
. = 0xa0000;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = 0xa1000;
.*: 00000000 +0 +FUNC +GLOBAL +DEFAULT +UND +foo
# The index on the next line should correspond to MIPS_GOTSYM.
#...
- *7: 00044030 +0 +FUNC +GLOBAL +DEFAULT +UND +bar
+ *6: 00044030 +0 +FUNC +GLOBAL +DEFAULT +UND +bar
#pass
Relocation section '\.rel\.plt' at offset .* contains .*:
* Offset * Info * Type * Sym\.Value * Sym\. Name
-00081008 * 0000057f * R_MIPS_JUMP_SLOT * 00000000 * foo
+00081008 * 0000047f * R_MIPS_JUMP_SLOT * 00000000 * foo
# This must be the number of GOT entries - 1, the last entry being for "obj3".
0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
# This must be MIPS_GOTSYM + 1.
- 0x70000011 \(MIPS_SYMTABNO\) * 8
+ 0x70000011 \(MIPS_SYMTABNO\) * 7
0x70000012 \(MIPS_UNREFEXTNO\) .*
# This must be the index of "obj3".
- 0x70000013 \(MIPS_GOTSYM\) * 0x7
+ 0x70000013 \(MIPS_GOTSYM\) * 0x6
0x00000000 \(NULL\) * 0x0
.rld_map : { *(.rld_map) }
. = 0xa0000;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = 0xa1000;
.*: 000a2008 +4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +obj2
# The index on the next line should correspond to MIPS_GOTSYM.
#...
- *7: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +obj3
+ *6: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +obj3
#pass
* Offset * Info * Type * Sym\.Value * Sym\. Name
00000000 * 00000000 * R_MIPS_NONE *
000a2000 * 0000017e * R_MIPS_COPY * 000a2000 * obj1
-000a2008 * 0000047e * R_MIPS_COPY * 000a2008 * obj2
-000a1004 * 00000703 * R_MIPS_REL32 * 00000000 * obj3
+000a2008 * 0000037e * R_MIPS_COPY * 000a2008 * obj2
+000a1004 * 00000603 * R_MIPS_REL32 * 00000000 * obj3
# for "bar" and "obj2".
0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
# This must be MIPS_GOTSYM + 2.
- 0x70000011 \(MIPS_SYMTABNO\) * 10
+ 0x70000011 \(MIPS_SYMTABNO\) * 9
0x70000012 \(MIPS_UNREFEXTNO\) * .*
- 0x70000013 \(MIPS_GOTSYM\) * 0x8
+ 0x70000013 \(MIPS_GOTSYM\) * 0x7
0x00000014 \(PLTREL\) * REL
0x00000017 \(JMPREL\) * 0x43030
0x00000002 \(PLTRELSZ\) * 8 \(bytes\)
.got.plt : { *(.got.plt) }
. = 0xa0000;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = 0xa1000;
.*: 00043060 +0 +FUNC +GLOBAL +DEFAULT +\[MIPS PLT\] +UND +foo
# The index on the next line should correspond to MIPS_GOTSYM.
#...
- *8: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +obj2
- *9: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +bar
+ *7: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +obj2
+ *8: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +bar
#pass
0x70000005 \(MIPS_FLAGS\) * NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) * 0x40000
0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
- 0x70000011 \(MIPS_SYMTABNO\) * 14
+ 0x70000011 \(MIPS_SYMTABNO\) * 13
0x70000012 \(MIPS_UNREFEXTNO\) * .*
- 0x70000013 \(MIPS_GOTSYM\) * 0x7
+ 0x70000013 \(MIPS_GOTSYM\) * 0x6
0x00000014 \(PLTREL\) * REL
0x00000017 \(JMPREL\) * 0x43028
0x00000002 \(PLTRELSZ\) * 24 \(bytes\)
440a0: 8f998010 lw t9,-32752\(gp\)
440a4: 03e07821 move t3,ra
440a8: 0320f809 jalr t9
- 440ac: 2418000a li t8,10
+ 440ac: 24180009 li t8,9
\.\.\.
# and the remaining symbols should have the same order as the
# GOT layout given in the *.dd dump.
#...
- *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
- *8: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
- *9: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
- *10: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
- *11: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
- *12: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
- *13: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
+ *6: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
+ *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
+ *8: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
+ *9: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
+ *10: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
+ *11: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
+ *12: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
#pass
0x0+70000005 \(MIPS_FLAGS\) * NOTPOT
0x0+70000006 \(MIPS_BASE_ADDRESS\) * 0x40000
0x0+7000000a \(MIPS_LOCAL_GOTNO\) * 2
- 0x0+70000011 \(MIPS_SYMTABNO\) * 14
+ 0x0+70000011 \(MIPS_SYMTABNO\) * 13
0x0+70000012 \(MIPS_UNREFEXTNO\) * .*
- 0x0+70000013 \(MIPS_GOTSYM\) * 0x7
+ 0x0+70000013 \(MIPS_GOTSYM\) * 0x6
0x0+00000014 \(PLTREL\) * REL
0x0+00000017 \(JMPREL\) * 0x43050
0x0+00000002 \(PLTRELSZ\) * 48 \(bytes\)
440a0: df998010 ld t9,-32752\(gp\)
440a4: 03e0782d move t3,ra
440a8: 0320f809 jalr t9
- 440ac: 6418000a daddiu t8,zero,10
+ 440ac: 64180009 daddiu t8,zero,9
\.\.\.
# and the remaining symbols should have the same order as the
# GOT layout given in the *.dd dump.
#...
- *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
- *8: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
- *9: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
- *10: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
- *11: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
- *12: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
- *13: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
+ *6: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
+ *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
+ *8: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
+ *9: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
+ *10: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
+ *11: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
+ *12: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
#pass
0x70000005 \(MIPS_FLAGS\) * NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) * 0x40000
0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
- 0x70000011 \(MIPS_SYMTABNO\) * 14
+ 0x70000011 \(MIPS_SYMTABNO\) * 13
0x70000012 \(MIPS_UNREFEXTNO\) * .*
- 0x70000013 \(MIPS_GOTSYM\) * 0x7
+ 0x70000013 \(MIPS_GOTSYM\) * 0x6
0x00000014 \(PLTREL\) * REL
0x00000017 \(JMPREL\) * 0x43028
0x00000002 \(PLTRELSZ\) * 24 \(bytes\)
440a0: 8f998010 lw t9,-32752\(gp\)
440a4: 03e07821 move t7,ra
440a8: 0320f809 jalr t9
- 440ac: 2418000a li t8,10
+ 440ac: 24180009 li t8,9
\.\.\.
# and the remaining symbols should have the same order as the
# GOT layout given in the *.dd dump.
#...
- *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
- *8: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
- *9: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
- *10: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
- *11: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
- *12: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
- *13: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
+ *6: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
+ *7: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
+ *8: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
+ *9: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
+ *10: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
+ *11: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf4
+ *12: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
#pass
.got.plt : { *(.got.plt) }
. = 0xa0000;
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = 0xa1000;
. = 0x208000;
.text : { *(.text) }
. = 0x400000;
- _gp = 0x401234;
+ HIDDEN (_gp = 0x401234);
.sdata : { *(.sdata) }
/DISCARD/ : { *(*) }
}
.data : { *(.data) }
. = ALIGN (0x400);
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
}
.text : { *(.text) }
. = ALIGN (0x10000);
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
/DISCARD/ : { *(.reginfo) }
.text : { *(.text) }
. = ALIGN (0x10000);
- _gp = . + 0x7ff0;
+ HIDDEN (_gp = . + 0x7ff0);
.got : { *(.got) }
. = ALIGN (0x400);
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-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
+0013f820 R_MIPS_TLS_DTPMOD32 \*ABS\*
+0014947c R_MIPS_TLS_DTPMOD32 \*ABS\*
+0013f82c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0013f830 R_MIPS_TLS_DTPREL32 tlsvar_gd
+00149488 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0014948c R_MIPS_TLS_DTPREL32 tlsvar_gd
+0013f828 R_MIPS_TLS_TPREL32 tlsvar_ie
+00149484 R_MIPS_TLS_TPREL32 tlsvar_ie
+00143e28 R_MIPS_REL32 sym_1_9526
#...
-00139ab8 R_MIPS_REL32 sym_2_8654
+00139aa8 R_MIPS_REL32 sym_2_8654
Contents of section .got:
- 122360 00000000 80000000 000d7f98 000d65f4 .*
- 122370 000d1fa4 000d6010 000d5a48 000d19c0 .*
+ 122350 00000000 80000000 000d7f88 000d65e4 .*
+ 122360 000d1f94 000d6000 000d5a38 000d19b0 .*
#...
- 135be0 000cf204 000e0e48 00000000 80000000 .*
- 135bf0 00000000 00000000 00000000 00000000 .*
+ 135bd0 000cf1f4 000e0e38 00000000 80000000 .*
+ 135be0 00000000 00000000 00000000 00000000 .*
#...
+ 13f810 00000000 00000000 00000000 00000000 .*
13f820 00000000 00000000 00000000 00000000 .*
- 13f830 00000000 00000000 00000000 00000000 .*
- 13f840 00000000 00000000 80000000 00000000 .*
+ 13f830 00000000 00000000 80000000 00000000 .*
#...
+ 149440 00000000 00000000 00000000 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 .*
#pass
0x00000004 \(HASH\) 0x1c4
0x00000005 \(STRTAB\).*
0x00000006 \(SYMTAB\).*
- 0x0000000a \(STRSZ\) 220091 \(bytes\)
+ 0x0000000a \(STRSZ\) 220087 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
- 0x00000003 \(PLTGOT\) 0x122360
- 0x00000011 \(REL\) 0xa7978
+ 0x00000003 \(PLTGOT\) 0x122350
+ 0x00000011 \(REL\) 0xa7960
0x00000012 \(RELSZ\) 160072 \(bytes\)
0x00000013 \(RELENT\) 8 \(bytes\)
0x70000001 \(MIPS_RLD_VERSION\) 1
0x70000005 \(MIPS_FLAGS\) NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) 0x0
0x7000000a \(MIPS_LOCAL_GOTNO\) 2
- 0x70000011 \(MIPS_SYMTABNO\) 20013
+ 0x70000011 \(MIPS_SYMTABNO\) 20012
0x70000012 \(MIPS_UNREFEXTNO\) 10
- 0x70000013 \(MIPS_GOTSYM\) 0xd
+ 0x70000013 \(MIPS_GOTSYM\) 0xc
0x0000001e \(FLAGS\) STATIC_TLS
0x00000000 \(NULL\) 0x0
[0-9a-f ]+R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
[0-9a-f ]+R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
[0-9a-f ]+R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
-[0-9a-f ]+R_MIPS_REL32 000d7f98 sym_1_9526
-[0-9a-f ]+R_MIPS_REL32 000d65f4 sym_1_7885
+[0-9a-f ]+R_MIPS_REL32 000d7f88 sym_1_9526
+[0-9a-f ]+R_MIPS_REL32 000d65e4 sym_1_7885
#...
-[0-9a-f ]+R_MIPS_REL32 000cf204 sym_1_0465
-[0-9a-f ]+R_MIPS_REL32 000e0e48 sym_2_8654
+[0-9a-f ]+R_MIPS_REL32 000cf1f4 sym_1_0465
+[0-9a-f ]+R_MIPS_REL32 000e0e38 sym_2_8654
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7bf0 addiu gp,gp,31728
+ .*: 279c7c10 addiu gp,gp,31760
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b30 addiu gp,gp,31536
+ .*: 279c7b50 addiu gp,gp,31568
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Contents of section .got:
- 10000020 00000000 80000000 004004cc 00000001 .........@......
+ 10000020 00000000 80000000 004004ac 00000001 .........@......
10000030 00000000 00000000 00000000 00000000 ................
10000040 00000000 00000000 00000000 ............
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7bf0 addiu gp,gp,31728
+ .*: 279c7c10 addiu gp,gp,31760
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b30 addiu gp,gp,31536
+ .*: 279c7b50 addiu gp,gp,31568
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Contents of section .got:
- 10000020 00000000 80000000 004004cc 00000000 .*
+ 10000020 00000000 80000000 004004ac 00000000 .*
10000030 00000000 00000000 00000000 00000000 .*
10000040 00000001 00000000 00000000 00000000 .*
10000050 00000000 00000000 .*
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7bf0 addiu gp,gp,31728
+ .*: 279c7c10 addiu gp,gp,31760
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b40 addiu gp,gp,31552
+ .*: 279c7b60 addiu gp,gp,31584
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Contents of section .got:
- 10000020 00000000 80000000 0040057c 00000000 .*
+ 10000020 00000000 80000000 0040055c 00000000 .*
10000030 00000000 00000000 00000000 00000000 .*
10000040 00000001 00000000 00000000 00000000 .*
10000050 00000000 00000000 .*
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7ba0 addiu gp,gp,31648
+ .*: 279c7bc0 addiu gp,gp,31680
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
Contents of section .got:
- 10000020 00000000 80000000 0040051c 00000001 ................
+ 10000020 00000000 80000000 004004fc 00000001 ................
10000030 00000000 00000000 00000000 00000000 ................
10000040 00000000 00000000 00000000 ............
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040520 R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040528 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0004052c R_MIPS_TLS_DTPREL32 tlsvar_gd
-0004051c R_MIPS_TLS_TPREL32 tlsvar_ie
+00040500 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040508 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0004050c R_MIPS_TLS_DTPREL32 tlsvar_gd
+000404fc R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 40510 00000000 80000000 000004e0 00000000 ................
- 40520 00000000 00000000 00000000 00000000 ................
+ 404f0 00000000 80000000 000004c0 00000000 ................
+ 40500 00000000 00000000 00000000 00000000 ................
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040480 R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040488 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0004048c R_MIPS_TLS_DTPREL32 tlsvar_gd
-0004047c R_MIPS_TLS_TPREL32 tlsvar_ie
+00040460 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040468 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0004046c R_MIPS_TLS_DTPREL32 tlsvar_gd
+0004045c R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 40470 00000000 80000000 00000440 00000000 ................
- 40480 00000000 00000000 00000000 00000000 ................
+ 40450 00000000 80000000 00000420 00000000 ................
+ 40460 00000000 00000000 00000000 00000000 ................