diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2007-11-14 20:46:15 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2007-11-14 20:46:15 +0000 |
commit | c224138d88196fe7cabce4fe554c10a1520f5a4f (patch) | |
tree | d70ed2d76daa6b13ed8bd8eb10e2e23e1b60eeda /ld/testsuite/ld-mips-elf | |
parent | 51a0dd312ea996c87f576fea04ca5d0db5826411 (diff) | |
download | gdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.zip gdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.tar.gz gdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.tar.bz2 |
bfd/
2007-09-18 Richard Sandiford <richard@codesourcery.com>
* elfxx-mips.c (mips_got_page_range): New structure.
(mips_got_page_entry): Likewise.
(mips_got_info): Add page_gotno and got_page_entries fields.
(mips_elf_got_per_bfd_arg): Add max_pages field. Delete
primary_count and current_count fields.
(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
(mips_elf_get_got_for_bfd): New function, split out from
mips_elf_make_got_per_bfd. Initialize the page_gotno and
got_page_entries fields when creating a new GOT structure.
(mips_elf_make_got_pages_per_bfd): New function.
(mips_elf_merge_got_with): New function, split out from
mips_elf_make_got_per_bfd. Merge page entries as well as
non-page entries. Use the minimum of max_pages and the sum
of the page_gotnos to estimate the number of page entries.
(mips_elf_merge_gots): Use the minimum of max_pages and the
bfd's page_gotno to estimate the number of page entries.
Use the above functions.
(mips_elf_multi_got): Add page entries as well as non-page entries
to the individual per-bfd GOTs. Initialize got_per_bfd_arg.max_pages.
Initialize the page_gotno and got_page_entries fields when creating
a new primary GOT. Use the minimum of pages and page_gotno when
adding the number of pages entries to local_gotno.
(mips_elf_create_got_section): Initialize the page_gotno and
got_page_entries fields of the GOT structure.
(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
functions, split out from...
(_bfd_mips_elf_relocate_section): ...here.
(_bfd_mips_elf_check_relocs): Record GOT page entries too.
(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
(_bfd_mips_elf_always_size_sections): Use the smaller of the
loadable_size- and page_gotno-derived estimates.
ld/testsuite/
2007-09-18 Richard Sandiford <richard@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* ld-mips-elf/got-page-1.d, ld-mips-elf/got-page-1.s,
* ld-mips-elf/got-page-2.d, ld-mips-elf/got-page-2.s,
* ld-mips-elf/got-page-3.d, ld-mips-elf/got-page-3a.s,
* ld-mips-elf/got-page-3b.s, ld-mips-elf/got-page-3c.s,
* ld-mips-elf/got-page-1.ld: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
* ld-mips-elf/multi-got-1.d, ld-mips-elf/multi-got-no-shared.d,
* ld-mips-elf/tls-hidden2-got.d, ld-mips-elf/tls-hidden2.d,
* ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
* ld-mips-elf/tls-hidden3.r, ld-mips-elf/tls-hidden4.got,
* ld-mips-elf/tls-hidden4.r, ld-mips-elf/tls-multi-got-1.d,
* ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r,
* ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got,
* ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
* ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
* ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
* ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got,
* ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got,
* ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got: Update for
GOT allocation changes.
Diffstat (limited to 'ld/testsuite/ld-mips-elf')
36 files changed, 445 insertions, 204 deletions
diff --git a/ld/testsuite/ld-mips-elf/got-page-1.d b/ld/testsuite/ld-mips-elf/got-page-1.d new file mode 100644 index 0000000..6f4cfd3 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-1.d @@ -0,0 +1,10 @@ +#name: GOT page test 1 +#source: got-page-1.s +#ld: -T got-page-1.ld -shared +#readelf: -d +# +# There should be 10 page entries and 2 reserved entries +# +#... +.* \(MIPS_LOCAL_GOTNO\) *12 +#pass diff --git a/ld/testsuite/ld-mips-elf/got-page-1.ld b/ld/testsuite/ld-mips-elf/got-page-1.ld new file mode 100644 index 0000000..fe2afe6 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-1.ld @@ -0,0 +1,31 @@ +SECTIONS +{ + . = 0x80000; + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + + . = ALIGN (0x400); + .rel.dyn : { *(.rel.dyn) } + + . = ALIGN (0x400); + .MIPS.stubs : { *(.MIPS.stubs) } + + . = ALIGN (0x400); + .text : { *(.text) } + + . = ALIGN (0x10000); + _gp = . + 0x7ff0; + .got : { *(.got) } + + . = ALIGN (0x400); + .bss : { *(.bss .bss.*) } + + /DISCARD/ : { *(.reginfo) } +} + +VERSION +{ + { local: *; }; +} diff --git a/ld/testsuite/ld-mips-elf/got-page-1.s b/ld/testsuite/ld-mips-elf/got-page-1.s new file mode 100644 index 0000000..976a522 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-1.s @@ -0,0 +1,46 @@ + # See below. + lw $4,%got(foo+0x120000)($gp) + addiu $4,$4,%lo(foo+0x120000) + + # 2 pages + lw $4,%got(foo-0x8000)($gp) + addiu $4,$4,%lo(foo-0x8000) + lw $4,%got(foo+0x800)($gp) + addiu $4,$4,%lo(foo+0x8000) + + # 2 pages + lw $4,%got(foo-0x1000000)($gp) + addiu $4,$4,%lo(foo-0x1000000) + lw $4,%got(foo-0xffffff)($gp) + addiu $4,$4,%lo(foo-0xffffff) + + # 1 page + lw $4,%got(foo+0x120000)($gp) + addiu $4,$4,%lo(foo+0x120000) + + # 5 pages + lw $4,%got(bar)($gp) + addiu $4,$4,%lo(bar) + lw $4,%got(bar+0x20000)($gp) + addiu $4,$4,%lo(bar+0x20000) + lw $4,%got(bar+0x40000)($gp) + addiu $4,$4,%lo(bar+0x40000) + lw $4,%got(bar+0x30000)($gp) + addiu $4,$4,%lo(bar+0x30000) + lw $4,%got(bar+0x10000)($gp) + addiu $4,$4,%lo(bar+0x10000) + lw $4,%got(bar+0x38000)($gp) + addiu $4,$4,%lo(bar+0x38000) + lw $4,%got(bar+0x14000)($gp) + addiu $4,$4,%lo(bar+0x14000) + lw $4,%got(bar+0x2c000)($gp) + addiu $4,$4,%lo(bar+0x2c000) + lw $4,%got(bar+0x02000)($gp) + addiu $4,$4,%lo(bar+0x02000) + + .section .bss.foo,"aw",@nobits + .fill 0x800000 +foo: .fill 0x800000 + + .section .bss.bar,"aw",@nobits +bar: .fill 0xc00000 diff --git a/ld/testsuite/ld-mips-elf/got-page-2.d b/ld/testsuite/ld-mips-elf/got-page-2.d new file mode 100644 index 0000000..ad198d0 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-2.d @@ -0,0 +1,11 @@ +#name: GOT page test 2 +#source: got-page-2.s +#as: -EB -n32 +#ld: -T got-page-1.ld -shared -melf32btsmipn32 +#readelf: -d +# +# There should be 10 page entries and 2 reserved entries +# +#... +.* \(MIPS_LOCAL_GOTNO\) *12 +#pass diff --git a/ld/testsuite/ld-mips-elf/got-page-2.s b/ld/testsuite/ld-mips-elf/got-page-2.s new file mode 100644 index 0000000..9482570 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-2.s @@ -0,0 +1,46 @@ + # See below. + lw $4,%got_page(foo+0x120000)($gp) + addiu $4,$4,%got_ofst(foo+0x120000) + + # 2 pages + lw $4,%got_page(foo-0x8000)($gp) + addiu $4,$4,%got_ofst(foo-0x8000) + lw $4,%got_page(foo+0x800)($gp) + addiu $4,$4,%got_ofst(foo+0x8000) + + # 2 pages + lw $4,%got_page(foo-0x1000000)($gp) + addiu $4,$4,%got_ofst(foo-0x1000000) + lw $4,%got_page(foo-0xffffff)($gp) + addiu $4,$4,%got_ofst(foo-0xffffff) + + # 1 page + lw $4,%got_page(foo+0x120000)($gp) + addiu $4,$4,%got_ofst(foo+0x120000) + + # 5 pages + lw $4,%got_page(bar)($gp) + addiu $4,$4,%got_ofst(bar) + lw $4,%got_page(bar+0x20000)($gp) + addiu $4,$4,%got_ofst(bar+0x20000) + lw $4,%got_page(bar+0x40000)($gp) + addiu $4,$4,%got_ofst(bar+0x40000) + lw $4,%got_page(bar+0x30000)($gp) + addiu $4,$4,%got_ofst(bar+0x30000) + lw $4,%got_page(bar+0x10000)($gp) + addiu $4,$4,%got_ofst(bar+0x10000) + lw $4,%got_page(bar+0x38000)($gp) + addiu $4,$4,%got_ofst(bar+0x38000) + lw $4,%got_page(bar+0x14000)($gp) + addiu $4,$4,%got_ofst(bar+0x14000) + lw $4,%got_page(bar+0x2c000)($gp) + addiu $4,$4,%got_ofst(bar+0x2c000) + lw $4,%got_page(bar+0x02000)($gp) + addiu $4,$4,%got_ofst(bar+0x02000) + + .section .bss.foo,"aw",@nobits + .fill 0x800000 +foo: .fill 0x800000 + + .section .bss.bar,"aw",@nobits +bar: .fill 0xc00000 diff --git a/ld/testsuite/ld-mips-elf/got-page-3.d b/ld/testsuite/ld-mips-elf/got-page-3.d new file mode 100644 index 0000000..913b0c9 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-3.d @@ -0,0 +1,26 @@ +#name: GOT page test 3 +#source: got-page-3a.s +#source: got-page-3b.s +#source: got-page-3c.s +#as: -mips3 +#ld: -T got-page-1.ld -shared +#objdump: -dr +# +# got-page-3a.s and got-page-3b.s should get assigned the same GOT, +# with a page estimate of 10. Thus the first page entry has offset +# -32744 (-32768 + 0x8000 - ELF_MIPS_GP_OFFSET + MIPS_RESERVED_GOTNO) +# and the first global entry has an offset -32744 + 40 == -32704. +# +# got-page-3c.s should get its own GOT, and needs no page entries. +# The first global symbol should therefore be at offset -32744. +# +#... +.* lw a0,-32744\(gp\) +.* addiu a0,a0,.* +#... +.* lw a1,-32704\(gp\) +#... +.* <f3>: +#... +.* lw a1,-32744\(gp\) +#pass diff --git a/ld/testsuite/ld-mips-elf/got-page-3a.s b/ld/testsuite/ld-mips-elf/got-page-3a.s new file mode 100644 index 0000000..c0d4633 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-3a.s @@ -0,0 +1,58 @@ + .macro makeref,sym + lw $5,%got(\sym\@)($gp) + .endm + + .globl f1 + .ent f1 +f1: + # See below. + lw $4,%got(foo+0x120000)($gp) + addiu $4,$4,%lo(foo+0x120000) + + # 2 pages + lw $4,%got(foo-0x8000)($gp) + addiu $4,$4,%lo(foo-0x8000) + lw $4,%got(foo+0x800)($gp) + addiu $4,$4,%lo(foo+0x8000) + + # 2 pages + lw $4,%got(foo-0x1000000)($gp) + addiu $4,$4,%lo(foo-0x1000000) + lw $4,%got(foo-0xffffff)($gp) + addiu $4,$4,%lo(foo-0xffffff) + + # 1 page + lw $4,%got(foo+0x120000)($gp) + addiu $4,$4,%lo(foo+0x120000) + + # 5 pages + lw $4,%got(bar)($gp) + addiu $4,$4,%lo(bar) + lw $4,%got(bar+0x20000)($gp) + addiu $4,$4,%lo(bar+0x20000) + lw $4,%got(bar+0x40000)($gp) + addiu $4,$4,%lo(bar+0x40000) + lw $4,%got(bar+0x30000)($gp) + addiu $4,$4,%lo(bar+0x30000) + lw $4,%got(bar+0x10000)($gp) + addiu $4,$4,%lo(bar+0x10000) + lw $4,%got(bar+0x38000)($gp) + addiu $4,$4,%lo(bar+0x38000) + lw $4,%got(bar+0x14000)($gp) + addiu $4,$4,%lo(bar+0x14000) + lw $4,%got(bar+0x2c000)($gp) + addiu $4,$4,%lo(bar+0x2c000) + lw $4,%got(bar+0x02000)($gp) + addiu $4,$4,%lo(bar+0x02000) + .end f1 + + .rept 8000 + makeref foo + .endr + + .section .bss.foo,"aw",@nobits + .fill 0x800000 +foo: .fill 0x800000 + + .section .bss.bar,"aw",@nobits +bar: .fill 0xc00000 diff --git a/ld/testsuite/ld-mips-elf/got-page-3b.s b/ld/testsuite/ld-mips-elf/got-page-3b.s new file mode 100644 index 0000000..6b399db --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-3b.s @@ -0,0 +1,11 @@ + .macro makeref,sym + lw $5,%got(\sym\@)($gp) + .endm + + .globl f2 + .ent f2 +f2: + .rept 8000 + makeref bar + .endr + .end f2 diff --git a/ld/testsuite/ld-mips-elf/got-page-3c.s b/ld/testsuite/ld-mips-elf/got-page-3c.s new file mode 100644 index 0000000..cd7656c --- /dev/null +++ b/ld/testsuite/ld-mips-elf/got-page-3c.s @@ -0,0 +1,11 @@ + .macro makeref,sym + lw $5,%got(\sym\@)($gp) + .endm + + .globl f3 + .ent f3 +f3: + .rept 8000 + makeref frob + .endr + .end f3 diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 1f215d3..63af733 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -144,6 +144,11 @@ if {$has_newabi} { if { $linux_gnu } { run_dump_test "textrel-1" + run_dump_test "got-page-1" + if $has_newabi { + run_dump_test "got-page-2" + } + run_dump_test "got-page-3" } if $has_newabi { diff --git a/ld/testsuite/ld-mips-elf/multi-got-1.d b/ld/testsuite/ld-mips-elf/multi-got-1.d index db76eea..15f04b2 100644 --- a/ld/testsuite/ld-mips-elf/multi-got-1.d +++ b/ld/testsuite/ld-mips-elf/multi-got-1.d @@ -19,7 +19,7 @@ Dynamic section at offset .* contains 17 entries: 0x70000001 \(MIPS_RLD_VERSION\) 1 0x70000005 \(MIPS_FLAGS\) NOTPOT 0x70000006 \(MIPS_BASE_ADDRESS\) 0 - 0x7000000a \(MIPS_LOCAL_GOTNO\) 12 + 0x7000000a \(MIPS_LOCAL_GOTNO\) 2 0x70000011 \(MIPS_SYMTABNO\) [0-9]+ 0x70000012 \(MIPS_UNREFEXTNO\) [0-9]+ 0x70000013 \(MIPS_GOTSYM\) 0x[0-9a-f]+ diff --git a/ld/testsuite/ld-mips-elf/multi-got-no-shared.d b/ld/testsuite/ld-mips-elf/multi-got-no-shared.d index bffc485..6a539dc 100644 --- a/ld/testsuite/ld-mips-elf/multi-got-no-shared.d +++ b/ld/testsuite/ld-mips-elf/multi-got-no-shared.d @@ -9,10 +9,10 @@ Disassembly of section \.text: 004000b0 <[^>]*> 3c1c0043 lui gp,0x43 -004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592 +004000b4 <[^>]*> 279c9a00 addiu gp,gp,-26112 004000b8 <[^>]*> afbc0008 sw gp,8\(sp\) #... 00408d60 <[^>]*> 3c1c0044 lui gp,0x44 -00408d64 <[^>]*> 279cb960 addiu gp,gp,-18080 +00408d64 <[^>]*> 279cb348 addiu gp,gp,-19640 00408d68 <[^>]*> afbc0008 sw gp,8\(sp\) #pass diff --git a/ld/testsuite/ld-mips-elf/tls-hidden2-got.d b/ld/testsuite/ld-mips-elf/tls-hidden2-got.d index 69c0982..9c252ee 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden2-got.d +++ b/ld/testsuite/ld-mips-elf/tls-hidden2-got.d @@ -2,5 +2,4 @@ .*file format.* Contents of section \.got: - *[0-9a-f]* 00000000 80000000 00000000 00000000 *\..* - *[0-9a-f]* 00000000 00000000 00000000 00000ba8 *\..* + *[0-9a-f]* 00000000 80000000 00000ba8 *\..* diff --git a/ld/testsuite/ld-mips-elf/tls-hidden2.d b/ld/testsuite/ld-mips-elf/tls-hidden2.d index e6322ca..58e6eac 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden2.d +++ b/ld/testsuite/ld-mips-elf/tls-hidden2.d @@ -4,7 +4,7 @@ Disassembly of section \.text: .* <.*>: -.*: 8f82802c * lw v0,-32724\(gp\) +.*: 8f828018 * lw v0,-32744\(gp\) \.\.\. -.*: 8f82802c * lw v0,-32724\(gp\) +.*: 8f828018 * lw v0,-32744\(gp\) \.\.\. diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.d b/ld/testsuite/ld-mips-elf/tls-hidden3.d index 6d58686..06a0c66 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden3.d +++ b/ld/testsuite/ld-mips-elf/tls-hidden3.d @@ -14,11 +14,11 @@ Disassembly of section \.text: # Any order would be acceptable, but it must match the .got dump. # 00080c00 <\.text>: - 80c00: 8f848030 lw a0,-32720\(gp\) - 80c04: 8f84803c lw a0,-32708\(gp\) - 80c08: 8f848034 lw a0,-32716\(gp\) - 80c0c: 8f848038 lw a0,-32712\(gp\) - 80c10: 8f848030 lw a0,-32720\(gp\) - 80c14: 8f84803c lw a0,-32708\(gp\) - 80c18: 8f848034 lw a0,-32716\(gp\) - 80c1c: 8f848038 lw a0,-32712\(gp\) + 80c00: 8f84801c lw a0,-32740\(gp\) + 80c04: 8f848028 lw a0,-32728\(gp\) + 80c08: 8f848020 lw a0,-32736\(gp\) + 80c0c: 8f848024 lw a0,-32732\(gp\) + 80c10: 8f84801c lw a0,-32740\(gp\) + 80c14: 8f848028 lw a0,-32728\(gp\) + 80c18: 8f848020 lw a0,-32736\(gp\) + 80c1c: 8f848024 lw a0,-32732\(gp\) diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.got b/ld/testsuite/ld-mips-elf/tls-hidden3.got index 8b9c87f..282a027 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden3.got +++ b/ld/testsuite/ld-mips-elf/tls-hidden3.got @@ -19,6 +19,5 @@ # Any order would be acceptable, but it must match the .d dump. # Contents of section \.got: - 90000 00000000 80000000 00000000 00000000 .* - 90010 00000000 00000000 00000000 00000000 .* - 90020 0000abc0 0000abc8 0000abcc 0000abc4 .* + 90000 00000000 80000000 00000000 0000abc0 .* + 90010 0000abc8 0000abcc 0000abc4 .* diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.r b/ld/testsuite/ld-mips-elf/tls-hidden3.r index c0a23a5..e7b7665 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden3.r +++ b/ld/testsuite/ld-mips-elf/tls-hidden3.r @@ -6,8 +6,8 @@ Relocation section '\.rel\.dyn' at offset .* contains 6 entries: # The order of the next four entries doesn't matter. The important thing # is that there is exactly one entry per GOT TLS slot. # -00090020 0000002f R_MIPS_TLS_TPREL3 -00090024 0000002f R_MIPS_TLS_TPREL3 -00090028 0000002f R_MIPS_TLS_TPREL3 -0009002c 0000002f R_MIPS_TLS_TPREL3 -00090030 .*03 R_MIPS_REL32 00000000 undef +0009000c 0000002f R_MIPS_TLS_TPREL3 +00090010 0000002f R_MIPS_TLS_TPREL3 +00090014 0000002f R_MIPS_TLS_TPREL3 +00090018 0000002f R_MIPS_TLS_TPREL3 +00090020 .*03 R_MIPS_REL32 00000000 undef diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.got b/ld/testsuite/ld-mips-elf/tls-hidden4.got index 84120c0..0c90da2 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden4.got +++ b/ld/testsuite/ld-mips-elf/tls-hidden4.got @@ -15,7 +15,8 @@ Contents of section \.got: # entry for each symbol. # #... - 1c4080 0000abc8 0000abcc 0000abc0 0000abc4 .* + 1c4010 00000000 00000000 0000abc8 0000abcc .* + 1c4020 0000abc0 0000abc4 00000000 80000000 .* # # Likewise, but the order of the entries in this GOT is: # @@ -24,5 +25,4 @@ Contents of section \.got: # foo0 # foo1 #... - 1d00c0 00000000 00000000 00000000 0000abcc .* - 1d00d0 0000abc8 0000abc0 0000abc4 .* + 1d0030 0000abcc 0000abc8 0000abc0 0000abc4 .* diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.r b/ld/testsuite/ld-mips-elf/tls-hidden4.r index f4d36b0..7a9353d 100644 --- a/ld/testsuite/ld-mips-elf/tls-hidden4.r +++ b/ld/testsuite/ld-mips-elf/tls-hidden4.r @@ -7,13 +7,13 @@ Relocation section '\.rel\.dyn' at offset .* contains .* entries: # important thing is that there is exactly one entry per GOT TLS slot # and that the addresses match those in the .got dump. # -001c4080 0000002f R_MIPS_TLS_TPREL3 -001c4084 0000002f R_MIPS_TLS_TPREL3 -001c4088 0000002f R_MIPS_TLS_TPREL3 -001c408c 0000002f R_MIPS_TLS_TPREL3 -001d00cc 0000002f R_MIPS_TLS_TPREL3 -001d00d0 0000002f R_MIPS_TLS_TPREL3 -001d00d4 0000002f R_MIPS_TLS_TPREL3 -001d00d8 0000002f R_MIPS_TLS_TPREL3 +001c4018 0000002f R_MIPS_TLS_TPREL3 +001c401c 0000002f R_MIPS_TLS_TPREL3 +001c4020 0000002f R_MIPS_TLS_TPREL3 +001c4024 0000002f R_MIPS_TLS_TPREL3 +001d0030 0000002f R_MIPS_TLS_TPREL3 +001d0034 0000002f R_MIPS_TLS_TPREL3 +001d0038 0000002f R_MIPS_TLS_TPREL3 +001d003c 0000002f R_MIPS_TLS_TPREL3 .* R_MIPS_REL32 .* #pass diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.d b/ld/testsuite/ld-mips-elf/tls-multi-got-1.d index 0678685..147dc83 100644 --- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.d +++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.d @@ -5,16 +5,16 @@ Disassembly of section .text: #... [0-9a-f]+ <tls_bits_1>: - [0-9a-f]+: 27841c90 addiu a0,gp,7312 - [0-9a-f]+: 27841c84 addiu a0,gp,7300 - [0-9a-f]+: 24441c8c addiu a0,v0,7308 + [0-9a-f]+: 27841c64 addiu a0,gp,7268 + [0-9a-f]+: 27841c58 addiu a0,gp,7256 + [0-9a-f]+: 24441c60 addiu a0,v0,7264 [0-9a-f]+: 00000000 nop [0-9a-f]+ <sym_2_0000>: #... [0-9a-f]+ <tls_bits_2>: - [0-9a-f]+: 27841c90 addiu a0,gp,7312 - [0-9a-f]+: 27841c84 addiu a0,gp,7300 - [0-9a-f]+: 24441c8c addiu a0,v0,7308 + [0-9a-f]+: 27841c64 addiu a0,gp,7268 + [0-9a-f]+: 27841c58 addiu a0,gp,7256 + [0-9a-f]+: 24441c60 addiu a0,v0,7264 [0-9a-f]+: 00000000 nop #pass 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 649baae..b8cacfa 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\* -0013f948 R_MIPS_TLS_DTPMOD32 \*ABS\* -001495d0 R_MIPS_TLS_DTPMOD32 \*ABS\* -0013f954 R_MIPS_TLS_DTPMOD32 tlsvar_gd -0013f958 R_MIPS_TLS_DTPREL32 tlsvar_gd -001495dc R_MIPS_TLS_DTPMOD32 tlsvar_gd -001495e0 R_MIPS_TLS_DTPREL32 tlsvar_gd -0013f950 R_MIPS_TLS_TPREL32 tlsvar_ie -001495d8 R_MIPS_TLS_TPREL32 tlsvar_ie -00143f7c R_MIPS_REL32 sym_1_9526 +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 #... -00139bd0 R_MIPS_REL32 sym_2_8654 +00139ac8 R_MIPS_REL32 sym_2_8654 Contents of section .got: - 122420 00000000 80000000 00000000 00000000 .* - 122430 00000000 00000000 00000000 00000000 .* - 122440 00000000 00000000 00000000 00000000 .* - 122450 00000000 000d8048 000d66a4 000d2054 .* + 122370 00000000 80000000 000d7f98 000d65f4 .* + 122380 000d1fa4 000d6010 000d5a48 000d19c0 .* #... - 13f930 00000000 00000000 00000000 00000000 .* - 13f940 00000000 00000000 00000000 00000000 .* - 13f950 00000000 00000000 00000000 00000000 .* - 13f960 80000000 00000000 00000000 00000000 .* + 135bf0 000cf204 000e0e48 00000000 80000000 .* + 135c00 00000000 00000000 00000000 00000000 .* #... - 1495a0 00000000 00000000 00000000 00000000 .* - 1495b0 00000000 00000000 00000000 00000000 .* - 1495c0 00000000 00000000 00000000 00000000 .* - 1495d0 00000000 00000000 00000000 00000000 .* - 1495e0 00000000 .* + 13f830 00000000 00000000 00000000 00000000 .* + 13f840 00000000 00000000 00000000 00000000 .* + 13f850 00000000 00000000 80000000 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 db44114..5ef19f6 100644 --- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r +++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r @@ -6,14 +6,14 @@ Dynamic section at offset .* contains 18 entries: 0x00000006 \(SYMTAB\).* 0x0000000a \(STRSZ\) 220091 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) - 0x00000003 \(PLTGOT\) 0x122420 + 0x00000003 \(PLTGOT\) 0x122370 0x00000011 \(REL\) 0xa7978 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 + 0x7000000a \(MIPS_LOCAL_GOTNO\) 2 0x70000011 \(MIPS_SYMTABNO\) 20013 0x70000012 \(MIPS_UNREFEXTNO\) 11 0x70000013 \(MIPS_GOTSYM\) 0xd @@ -31,8 +31,8 @@ Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20009 entries: [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 000d8048 sym_1_9526 -[0-9a-f ]+R_MIPS_REL32 000d66a4 sym_1_7885 +[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 000cf2b4 sym_1_0465 -[0-9a-f ]+R_MIPS_REL32 000e0ef8 sym_2_8654 +[0-9a-f ]+R_MIPS_REL32 000cf204 sym_1_0465 +[0-9a-f ]+R_MIPS_REL32 000e0e48 sym_2_8654 diff --git a/ld/testsuite/ld-mips-elf/tlsbin-o32.d b/ld/testsuite/ld-mips-elf/tlsbin-o32.d index d20ad22..0319649 100644 --- a/ld/testsuite/ld-mips-elf/tlsbin-o32.d +++ b/ld/testsuite/ld-mips-elf/tlsbin-o32.d @@ -10,14 +10,14 @@ Disassembly of section .text: 4000e0: afbe0008 sw s8,8\(sp\) 4000e4: 03a0f021 move s8,sp 4000e8: afbc0000 sw gp,0\(sp\) - 4000ec: 8f99802c lw t9,-32724\(gp\) - 4000f0: 2784803c addiu a0,gp,-32708 + 4000ec: 8f998018 lw t9,-32744\(gp\) + 4000f0: 27848028 addiu a0,gp,-32728 4000f4: 0320f809 jalr t9 4000f8: 00000000 nop 4000fc: 8fdc0000 lw gp,0\(s8\) 400100: 00000000 nop - 400104: 8f99802c lw t9,-32724\(gp\) - 400108: 27848034 addiu a0,gp,-32716 + 400104: 8f998018 lw t9,-32744\(gp\) + 400108: 27848020 addiu a0,gp,-32736 40010c: 0320f809 jalr t9 400110: 00000000 nop 400114: 8fdc0000 lw gp,0\(s8\) @@ -26,7 +26,7 @@ Disassembly of section .text: 400120: 24638000 addiu v1,v1,-32768 400124: 00621821 addu v1,v1,v0 400128: 7c02283b rdhwr v0,\$5 - 40012c: 8f838030 lw v1,-32720\(gp\) + 40012c: 8f83801c lw v1,-32740\(gp\) 400130: 00000000 nop 400134: 00621821 addu v1,v1,v0 400138: 7c02283b rdhwr v0,\$5 diff --git a/ld/testsuite/ld-mips-elf/tlsbin-o32.got b/ld/testsuite/ld-mips-elf/tlsbin-o32.got index e924620..7deecf5 100644 --- a/ld/testsuite/ld-mips-elf/tlsbin-o32.got +++ b/ld/testsuite/ld-mips-elf/tlsbin-o32.got @@ -2,7 +2,5 @@ .*: file format elf32-tradbigmips Contents of section .got: - 10000010 00000000 80000000 00000000 00000000 ................ - 10000020 00000000 00000000 00000000 00400158 .............@.X - 10000030 ffff900c 00000001 00000000 00000001 ................ - 10000040 ffff8008 .... + 10000010 00000000 80000000 00400158 ffff900c .........@.X.... + 10000020 00000001 00000000 00000001 ffff8008 ................ diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d index 3637049..2ff4260 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d @@ -11,20 +11,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 @@ -61,20 +61,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got index 9b2e722..7053939 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got @@ -4,16 +4,15 @@ 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 +10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd +10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd +10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd +10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd +1000003c R_MIPS_TLS_TPREL32 tlsvar_ie +10000048 R_MIPS_TLS_TPREL32 tlsbin_ie Contents of section .got: - 10000020 00000000 80000000 00000000 00000000 ................ - 10000030 00000000 00000000 00000000 0040053c .............@.. - 10000040 00000001 00000000 00000000 00000000 ................ - 10000050 00000000 00000000 00000000 00000000 ................ + 10000020 00000000 80000000 0040053c 00000001 .........@...... + 10000030 00000000 00000000 00000000 00000000 ................ + 10000040 00000000 00000000 00000000 ............ diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d index 3637049..2ff4260 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d @@ -11,20 +11,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 @@ -61,20 +61,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got index eb4d2c1a..e397b2f 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got @@ -4,17 +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 +10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd +10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd +10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd +10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd +1000003c R_MIPS_TLS_TPREL32 tlsvar_ie +10000048 R_MIPS_TLS_TPREL32 tlsbin_ie Contents of section .got: - 10000020 00000000 80000000 00000000 00000000 .* - 10000030 00000000 00000000 00000000 0040053c .* - 10000040 00000001 00000000 00000000 00000000 .* - 10000050 00000000 00000000 00000000 00000000 .* - 10000060 00000000 00000000 00000000 .* + 10000020 00000000 80000000 0040053c 00000001 .* + 10000030 00000000 00000000 00000000 00000000 .* + 10000040 00000000 00000000 00000000 00000000 .* + 10000050 00000000 00000000 .* diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d index 9e7da50..994585a 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d @@ -11,20 +11,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 @@ -57,20 +57,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848044 addiu a0,gp,-32700 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848030 addiu a0,gp,-32720 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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\) + .*: 8f838038 lw v1,-32712\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got index a5242aa..fe77221 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got @@ -4,17 +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 +10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd +10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd +10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd +10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd +1000003c R_MIPS_TLS_TPREL32 tlsvar_ie +10000048 R_MIPS_TLS_TPREL32 tlsbin_ie Contents of section .got: - 10000020 00000000 80000000 00000000 00000000 .* - 10000030 00000000 00000000 00000000 004005ec .* - 10000040 00000001 00000000 00000000 00000000 .* - 10000050 00000000 00000000 00000000 00000000 .* - 10000060 00000000 00000000 00000000 .* + 10000020 00000000 80000000 004005ec 00000001 .* + 10000030 00000000 00000000 00000000 00000000 .* + 10000040 00000000 00000000 00000000 00000000 .* + 10000050 00000000 00000000 .* diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d index 31e9e02..2c55921 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d @@ -11,20 +11,20 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848038 addiu a0,gp,-32712 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848024 addiu a0,gp,-32732 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848048 addiu a0,gp,-32696 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848034 addiu a0,gp,-32716 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848030 addiu a0,gp,-32720 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 2784801c addiu a0,gp,-32740 .*: 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 - .*: 8f838044 lw v1,-32700\(gp\) + .*: 8f838030 lw v1,-32720\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 - .*: 8f838040 lw v1,-32704\(gp\) + .*: 8f83802c lw v1,-32724\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got index 1006332..5f93c17 100644 --- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got +++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got @@ -4,16 +4,15 @@ tmpdir/tls-dynamic-o32: file format elf32-tradbigmips 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 +10000034 R_MIPS_TLS_DTPMOD32 tlsbin_gd +10000038 R_MIPS_TLS_DTPREL32 tlsbin_gd +10000044 R_MIPS_TLS_DTPMOD32 tlsvar_gd +10000048 R_MIPS_TLS_DTPREL32 tlsvar_gd +10000040 R_MIPS_TLS_TPREL32 tlsbin_ie +1000003c R_MIPS_TLS_TPREL32 tlsvar_ie Contents of section .got: - 10000020 00000000 80000000 00000000 00000000 ................ - 10000030 00000000 00000000 00000000 0040051c ................ - 10000040 00000001 00000000 00000000 00000000 ................ - 10000050 00000000 00000000 00000000 00000000 ................ + 10000020 00000000 80000000 0040051c 00000001 ................ + 10000030 00000000 00000000 00000000 00000000 ................ + 10000040 00000000 00000000 00000000 ............ diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got b/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got index 1507f2c..b1a8317 100644 --- a/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got +++ b/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got @@ -4,13 +4,11 @@ DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 00000000 R_MIPS_NONE \*ABS\* -000403d0 R_MIPS_TLS_TPREL32 \*ABS\* -000403d4 R_MIPS_TLS_DTPMOD32 \*ABS\* -000403dc R_MIPS_TLS_DTPMOD32 \*ABS\* +000403bc R_MIPS_TLS_TPREL32 \*ABS\* +000403c0 R_MIPS_TLS_DTPMOD32 \*ABS\* +000403c8 R_MIPS_TLS_DTPMOD32 \*ABS\* Contents of section .got: - 403b0 00000000 80000000 00000000 00000000 ................ - 403c0 00000000 00000000 00000000 00000380 ................ - 403d0 00000008 00000000 00000000 00000000 ................ - 403e0 ffff8004 .... + 403b0 00000000 80000000 00000380 00000008 ................ + 403c0 00000000 00000000 00000000 ffff8004 ................ diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got b/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got index c0bf509..a2bc239 100644 --- a/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got +++ b/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got @@ -4,14 +4,12 @@ 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 +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 Contents of section .got: - 40510 00000000 80000000 00000000 00000000 ................ - 40520 00000000 00000000 00000000 000004e0 ................ - 40530 00000000 00000000 00000000 00000000 ................ - 40540 00000000 .... + 40510 00000000 80000000 000004e0 00000000 ................ + 40520 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32.d b/ld/testsuite/ld-mips-elf/tlslib-o32.d index 32fd7e3..cdeeded 100644 --- a/ld/testsuite/ld-mips-elf/tlslib-o32.d +++ b/ld/testsuite/ld-mips-elf/tlslib-o32.d @@ -11,14 +11,14 @@ Disassembly of section .text: .*: afbe0008 sw s8,8\(sp\) .*: 03a0f021 move s8,sp .*: afbc0000 sw gp,0\(sp\) - .*: 8f99802c lw t9,-32724\(gp\) - .*: 2784803c addiu a0,gp,-32708 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848028 addiu a0,gp,-32728 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) .*: 00000000 nop - .*: 8f99802c lw t9,-32724\(gp\) - .*: 27848034 addiu a0,gp,-32716 + .*: 8f998018 lw t9,-32744\(gp\) + .*: 27848020 addiu a0,gp,-32736 .*: 0320f809 jalr t9 .*: 00000000 nop .*: 8fdc0000 lw gp,0\(s8\) @@ -27,7 +27,7 @@ Disassembly of section .text: .*: 24638000 addiu v1,v1,-32768 .*: 00621821 addu v1,v1,v0 .*: 7c02283b rdhwr v0,\$5 - .*: 8f838030 lw v1,-32720\(gp\) + .*: 8f83801c lw v1,-32740\(gp\) .*: 00000000 nop .*: 00621821 addu v1,v1,v0 .*: 03c0e821 move sp,s8 diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32.got b/ld/testsuite/ld-mips-elf/tlslib-o32.got index 7307081..7dca58e 100644 --- a/ld/testsuite/ld-mips-elf/tlslib-o32.got +++ b/ld/testsuite/ld-mips-elf/tlslib-o32.got @@ -4,14 +4,12 @@ tmpdir/tlslib-o32.so: file format elf32-tradbigmips DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 00000000 R_MIPS_NONE \*ABS\* -00040494 R_MIPS_TLS_DTPMOD32 \*ABS\* -0004049c R_MIPS_TLS_DTPMOD32 tlsvar_gd -000404a0 R_MIPS_TLS_DTPREL32 tlsvar_gd -00040490 R_MIPS_TLS_TPREL32 tlsvar_ie +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 Contents of section .got: - 40470 00000000 80000000 00000000 00000000 ................ - 40480 00000000 00000000 00000000 00000440 ................ - 40490 00000000 00000000 00000000 00000000 ................ - 404a0 00000000 .... + 40470 00000000 80000000 00000440 00000000 ................ + 40480 00000000 00000000 00000000 00000000 ................ |