diff options
author | Andreas Krebbel <krebbel@linux.ibm.com> | 2019-03-01 15:23:42 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.ibm.com> | 2019-03-01 15:35:00 +0100 |
commit | 24801b157631434446c2fc5a40994a5555a1db38 (patch) | |
tree | d1ca231220dae8337aa7823336e43cc5f1a878f0 | |
parent | 827f438f664809b13ea59e8fabc43070dbd17645 (diff) | |
download | gdb-24801b157631434446c2fc5a40994a5555a1db38.zip gdb-24801b157631434446c2fc5a40994a5555a1db38.tar.gz gdb-24801b157631434446c2fc5a40994a5555a1db38.tar.bz2 |
Revert "Add support to GNU ld to separate got related plt entries"
bfd/ChangeLog:
2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
PR 20113
* elf32-s390.c (allocate_dynrelocs): Update comment.
ld/ChangeLog:
2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
PR 20113
* emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define.
* emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define.
* testsuite/ld-s390/gotreloc_31-1.dd: Update expected output.
* testsuite/ld-s390/tlsbin.dd: Likewise.
* testsuite/ld-s390/tlsbin.rd: Likewise.
* testsuite/ld-s390/tlsbin.sd: Likewise.
* testsuite/ld-s390/tlsbin_64.dd: Likewise.
* testsuite/ld-s390/tlsbin_64.rd: Likewise.
* testsuite/ld-s390/tlsbin_64.sd: Likewise.
* testsuite/ld-s390/tlspic.dd: Likewise.
* testsuite/ld-s390/tlspic.rd: Likewise.
* testsuite/ld-s390/tlspic.sd: Likewise.
* testsuite/ld-s390/tlspic_64.dd: Likewise.
* testsuite/ld-s390/tlspic_64.rd: Likewise.
* testsuite/ld-s390/tlspic_64.sd: Likewise.
* testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/elf32-s390.c | 3 | ||||
-rw-r--r-- | ld/ChangeLog | 23 | ||||
-rw-r--r-- | ld/emulparams/elf64_s390.sh | 1 | ||||
-rw-r--r-- | ld/emulparams/elf_s390.sh | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/gotreloc_31-1.dd | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/s390.exp | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.dd | 16 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.rd | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.sd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.dd | 18 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.rd | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.sd | 15 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.dd | 38 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.rd | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.sd | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.dd | 48 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.rd | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.sd | 21 |
19 files changed, 130 insertions, 106 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 68004ea..73de8b8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com> + + This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. + 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com> + + PR 20113 + * elf32-s390.c (allocate_dynrelocs): Update comment. + 2019-02-28 Tamar Christina <tamar.christina@arm.com> * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse. diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c index 1bf8cc2..49a301f 100644 --- a/bfd/elf32-s390.c +++ b/bfd/elf32-s390.c @@ -1666,7 +1666,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf) /* Make room for this entry. */ s->size += PLT_ENTRY_SIZE; - /* We also need to make an entry in the .got.plt section. */ + /* We also need to make an entry in the .got.plt section, which + will be placed in the .got section by the linker script. */ htab->elf.sgotplt->size += GOT_ENTRY_SIZE; /* We also need to make an entry in the .rela.plt section. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index cd368bd..1877a1c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,26 @@ +2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com> + + This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. + 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com> + + PR 20113 + * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. + * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. + * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. + * testsuite/ld-s390/tlsbin.dd: Likewise. + * testsuite/ld-s390/tlsbin.rd: Likewise. + * testsuite/ld-s390/tlsbin.sd: Likewise. + * testsuite/ld-s390/tlsbin_64.dd: Likewise. + * testsuite/ld-s390/tlsbin_64.rd: Likewise. + * testsuite/ld-s390/tlsbin_64.sd: Likewise. + * testsuite/ld-s390/tlspic.dd: Likewise. + * testsuite/ld-s390/tlspic.rd: Likewise. + * testsuite/ld-s390/tlspic.sd: Likewise. + * testsuite/ld-s390/tlspic_64.dd: Likewise. + * testsuite/ld-s390/tlspic_64.rd: Likewise. + * testsuite/ld-s390/tlspic_64.sd: Likewise. + * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. + 2019-02-27 H.J. Lu <hongjiu.lu@intel.com> PR ld/24276 diff --git a/ld/emulparams/elf64_s390.sh b/ld/emulparams/elf64_s390.sh index e0239be..8d02042 100644 --- a/ld/emulparams/elf64_s390.sh +++ b/ld/emulparams/elf64_s390.sh @@ -14,7 +14,6 @@ GENERATE_PIE_SCRIPT=yes GENERATE_RELRO_SCRIPT=yes NO_SMALL_DATA=yes EXTRA_EM_FILE=s390 -SEPARATE_GOTPLT=24 IREL_IN_PLT= SEPARATE_GOTPLT=0 test -z "$RELRO" && unset SEPARATE_GOTPLT diff --git a/ld/emulparams/elf_s390.sh b/ld/emulparams/elf_s390.sh index 39c746c..f2286ec 100644 --- a/ld/emulparams/elf_s390.sh +++ b/ld/emulparams/elf_s390.sh @@ -11,5 +11,4 @@ TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes -SEPARATE_GOTPLT=12 IREL_IN_PLT= diff --git a/ld/testsuite/ld-s390/gotreloc_31-1.dd b/ld/testsuite/ld-s390/gotreloc_31-1.dd index d6dd861..b1cf37c 100644 --- a/ld/testsuite/ld-s390/gotreloc_31-1.dd +++ b/ld/testsuite/ld-s390/gotreloc_31-1.dd @@ -4,10 +4,10 @@ tmpdir/gotreloc_31-1: file format elf32-s390 Disassembly of section .text: .* <foo>: -.*: c4 18 00 00 08 50 [ ]*lgrl %r1,11a8 <\.got\+0x8> -.*: e3 10 c0 08 00 04 [ ]*lg %r1,8\(%r12\) +.*: c4 18 00 00 08 56 [ ]*lgrl %r1,11b4 <_GLOBAL_OFFSET_TABLE_\+0x14> +.*: e3 10 c0 14 00 04 [ ]*lg %r1,20\(%r12\) .*: c0 10 00 00 08 52 [ ]*larl %r1,11b8 <bar> -.*: 58 10 c0 08 [ ]*l %r1,8\(%r12\) +.*: 58 10 c0 14 [ ]*l %r1,20\(%r12\) .*: c0 10 00 00 08 4d [ ]*larl %r1,11b8 <bar> -.*: c4 18 00 00 08 40 [ ]*lgrl %r1,11a4 <\.got\+0x4> -.*: c4 18 00 00 08 3b [ ]*lgrl %r1,11a0 <\.got> +.*: c4 18 00 00 08 46 [ ]*lgrl %r1,11b0 <_GLOBAL_OFFSET_TABLE_\+0x10> +.*: c4 18 00 00 08 41 [ ]*lgrl %r1,11ac <_GLOBAL_OFFSET_TABLE_\+0xc> diff --git a/ld/testsuite/ld-s390/s390.exp b/ld/testsuite/ld-s390/s390.exp index 38fd072..7970f23 100644 --- a/ld/testsuite/ld-s390/s390.exp +++ b/ld/testsuite/ld-s390/s390.exp @@ -92,8 +92,6 @@ if [istarget "s390-*-*"] { } if [istarget "s390x-*-*"] { - if {! [istarget "*-*-tpf"] } { - run_ld_link_tests $s390tests - } + run_ld_link_tests $s390tests run_ld_link_tests $s390xtests } diff --git a/ld/testsuite/ld-s390/tlsbin.dd b/ld/testsuite/ld-s390/tlsbin.dd index 4d992c4..677357c 100644 --- a/ld/testsuite/ld-s390/tlsbin.dd +++ b/ld/testsuite/ld-s390/tlsbin.dd @@ -27,9 +27,9 @@ Disassembly of section .text: # __tls_get_addr@plt-.LT1 +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # sG1@tlsgd - +[0-9a-f]+: 00 00 00 18 .long 0x00000018 + +[0-9a-f]+: 00 00 00 28 .long 0x00000028 # sG2@tlsgd - +[0-9a-f]+: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sg1@tlsgd +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@tlsgd @@ -49,7 +49,7 @@ Disassembly of section .text: # sh2@dtpoff +[0-9a-f]+: ff ff ff a4 .long 0xffffffa4 # sG2@gotntpoff - +[0-9a-f]+: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sg1@gotntpoff +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@gotntpoff @@ -122,17 +122,17 @@ Disassembly of section .text: +[0-9a-f]+: 07 00 nopr +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against global var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 04 l %r3,4\(%r12\) + +[0-9a-f]+: 58 30 c0 14 l %r3,20\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against global var defined in exec with small got access # (no optimization) - +[0-9a-f]+: 58 30 c0 08 l %r3,8\(%r12\) + +[0-9a-f]+: 58 30 c0 18 l %r3,24\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 00 l %r3,0\(%r12\) + +[0-9a-f]+: 58 30 c0 10 l %r3,16\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 0c l %r3,12\(%r12\) + +[0-9a-f]+: 58 30 c0 1c l %r3,28\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # function epilog +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) @@ -151,7 +151,7 @@ Disassembly of section .text: +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) +[0-9a-f]+: a7 d5 00 0c bras %r13,[0-9a-f]+ <_start\+0x1c> # sG6@indntpoff - +[0-9a-f]+: 00 40 15 54 .long 0x00401554 + +[0-9a-f]+: 00 40 15 64 .long 0x00401564 # bg6@indntpoff +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 # bl6@indntpoff diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd index 963f774..50d4443 100644 --- a/ld/testsuite/ld-s390/tlsbin.rd +++ b/ld/testsuite/ld-s390/tlsbin.rd @@ -22,7 +22,6 @@ Section Headers: +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1 +\[[ 0-9]+\] .dynamic +DYNAMIC .* +\[[ 0-9]+\] .got +PROGBITS .* - +\[[ 0-9]+\] .got.plt +PROGBITS .* +\[[ 0-9]+\] .symtab .* +\[[ 0-9]+\] .strtab .* +\[[ 0-9]+\] .shstrtab .* @@ -48,7 +47,7 @@ Program Headers: +00 * +01 +.interp * +02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text * - +03 +.tdata .dynamic .got .got.plt * + +03 +.tdata .dynamic .got * +04 +.dynamic * +05 +.tdata .tbss * @@ -87,7 +86,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 -.* SECTION +LOCAL +DEFAULT +13 .* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +9 sl1 .* TLS +LOCAL +DEFAULT +9 sl2 @@ -108,7 +106,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 bl8 .* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +9 sg8 .* TLS +GLOBAL +DEFAULT +10 bg8 @@ -128,7 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh4 .* TLS +GLOBAL +DEFAULT +10 bg7 .* TLS +GLOBAL +HIDDEN +9 sh5 -.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +9 sg2 @@ -136,8 +134,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh1 .* TLS +GLOBAL +DEFAULT +9 sg6 .* TLS +GLOBAL +DEFAULT +9 sg7 -.* NOTYPE +GLOBAL +DEFAULT +13 _edata -.* NOTYPE +GLOBAL +DEFAULT +13 _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +HIDDEN +9 sh2 .* TLS +GLOBAL +HIDDEN +9 sh6 .* TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/ld/testsuite/ld-s390/tlsbin.sd b/ld/testsuite/ld-s390/tlsbin.sd index 12ec2f1..b1ecbf0 100644 --- a/ld/testsuite/ld-s390/tlsbin.sd +++ b/ld/testsuite/ld-s390/tlsbin.sd @@ -8,5 +8,6 @@ .*: file format elf32-s390 Contents of section .got: + [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .@...........@.. [0-9a-f]+ ffffff88 00000000 ffffff68 ffffffa8 ...........h.... [0-9a-f]+ 00000000 00000000 00000000 ............ diff --git a/ld/testsuite/ld-s390/tlsbin_64.dd b/ld/testsuite/ld-s390/tlsbin_64.dd index 6ee87b0..b984c57 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.dd +++ b/ld/testsuite/ld-s390/tlsbin_64.dd @@ -70,7 +70,7 @@ Disassembly of section .text: # function prolog +[0-9a-f]+: b9 04 00 ef lgr %r14,%r15 +[0-9a-f]+: a7 fb ff 60 aghi %r15,-160 - +[0-9a-f]+: c0 c0 [0-9a-f ]+ larl %r12,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 c0 [0-9a-f ]+ larl %r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_> +[0-9a-f]+: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) # extract TCB +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 @@ -133,29 +133,29 @@ Disassembly of section .text: +[0-9a-f]+: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against global var defined in exec with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x38> +[0-9a-f]+: eb 43 00 00 00 0d sllg %r4,%r3,0 +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against local var with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20> +[0-9a-f]+: eb 43 00 00 00 0d sllg %r4,%r3,0 +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against hidden var with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x40> +[0-9a-f]+: eb 43 00 00 00 0d sllg %r4,%r3,0 +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against global var with small got access (no optimization) - +[0-9a-f]+: e3 30 c0 .8 00 04 lg %r3,.*\(%r12\) + +[0-9a-f]+: e3 30 c0 28 00 04 lg %r3,40\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against global var defined in exec with small got access # (no optimization) - +[0-9a-f]+: e3 30 c0 .8 00 04 lg %r3,..\(%r12\) + +[0-9a-f]+: e3 30 c0 38 00 04 lg %r3,56\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with small got access (no optimization) - +[0-9a-f]+: e3 30 c0 .0 00 04 lg %r3,.*\(%r12\) + +[0-9a-f]+: e3 30 c0 20 00 04 lg %r3,32\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden var with small got access (no optimization) - +[0-9a-f]+: e3 30 c0 .0 00 04 lg %r3,..\(%r12\) + +[0-9a-f]+: e3 30 c0 40 00 04 lg %r3,64\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # function epilog +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) @@ -177,7 +177,7 @@ Disassembly of section .text: +[0-9a-f]+: a7 d5 00 16 bras %r13,[0-9a-f]+ <_start\+0x30> # sG6@indntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 01 00 1. .8 .long 0x01001..8 + +[0-9a-f]+: 01 00 18 18 .long 0x01001818 # bg6@indntpoff +[0-9a-f]+: ff ff ff ff .long 0xffffffff +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd index 9790fa7..fe7811a 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.rd +++ b/ld/testsuite/ld-s390/tlsbin_64.rd @@ -22,7 +22,6 @@ Section Headers: +\[[ 0-9]+\] .tbss +NOBITS .* 0+40 00 WAT +0 +0 +1 +\[[ 0-9]+\] .dynamic +DYNAMIC .* +\[[ 0-9]+\] .got +PROGBITS .* -#... +\[[ 0-9]+\] .symtab .* +\[[ 0-9]+\] .strtab .* +\[[ 0-9]+\] .shstrtab .* @@ -87,7 +86,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 -#... .* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +9 sl1 .* TLS +LOCAL +DEFAULT +9 sl2 @@ -108,7 +106,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 bl8 .* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +1. _GLOBAL_OFFSET_TABLE_ +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +9 sg8 .* TLS +GLOBAL +DEFAULT +10 bg8 @@ -128,7 +126,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh4 .* TLS +GLOBAL +DEFAULT +10 bg7 .* TLS +GLOBAL +HIDDEN +9 sh5 -.* NOTYPE +GLOBAL +DEFAULT +1. __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +9 sg2 @@ -136,8 +134,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh1 .* TLS +GLOBAL +DEFAULT +9 sg6 .* TLS +GLOBAL +DEFAULT +9 sg7 -.* NOTYPE +GLOBAL +DEFAULT +1. _edata -.* NOTYPE +GLOBAL +DEFAULT +1. _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +HIDDEN +9 sh2 .* TLS +GLOBAL +HIDDEN +9 sh6 .* TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/ld/testsuite/ld-s390/tlsbin_64.sd b/ld/testsuite/ld-s390/tlsbin_64.sd index 7212114..6618e45 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.sd +++ b/ld/testsuite/ld-s390/tlsbin_64.sd @@ -8,10 +8,11 @@ .*: file format elf64-s390 Contents of section .got: - [0-9a-f]+ ........ ........ 00000000 00000000 .* - [0-9a-f]+ 00000000 00000000 ........ ........ .* - [0-9a-f]+ ffffffff ffffff.8 00000000 00000000 .* - [0-9a-f]+ 00000000 00000000 ........ ........ .* - [0-9a-f]+ ........ ........ ........ ........ .* - [0-9a-f]+ 00000000 00000000 .* -#... + [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .* + [0-9a-f]+ ffffffff ffffff88 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 ffffffff ffffff68 .* + [0-9a-f]+ ffffffff ffffffa8 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 .* diff --git a/ld/testsuite/ld-s390/tlspic.dd b/ld/testsuite/ld-s390/tlspic.dd index 427e2f6..d5caeaf 100644 --- a/ld/testsuite/ld-s390/tlspic.dd +++ b/ld/testsuite/ld-s390/tlspic.dd @@ -18,47 +18,47 @@ Disassembly of section .text: # __tls_get_addr@plt-.LT1 +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # sg1@tlsgd - +[0-9a-f]+: 00 00 00 28 .long 0x00000028 -# sg2@tlsgd +[0-9a-f]+: 00 00 00 38 .long 0x00000038 +# sg2@tlsgd + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sl1@tlsgd - +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 10 .long 0x00000010 # sl2@tlsgd - +[0-9a-f]+: 00 00 00 08 .long 0x00000008 + +[0-9a-f]+: 00 00 00 18 .long 0x00000018 # sh1@tlsgd - +[0-9a-f]+: 00 00 00 3c .long 0x0000003c + +[0-9a-f]+: 00 00 00 4c .long 0x0000004c # sh2@tlsgd - +[0-9a-f]+: 00 00 00 44 .long 0x00000044 + +[0-9a-f]+: 00 00 00 54 .long 0x00000054 # sH1@tlsgd - +[0-9a-f]+: 00 00 00 18 .long 0x00000018 + +[0-9a-f]+: 00 00 00 28 .long 0x00000028 # sH2@tlsgd - +[0-9a-f]+: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sl1@tlsldm - +[0-9a-f]+: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl1@dtpoff +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@dtpoff +[0-9a-f]+: 00 00 00 24 .long 0x00000024 # sh1@tlsldm - +[0-9a-f]+: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sh1@dtpoff +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sh2@dtpoff +[0-9a-f]+: 00 00 00 44 .long 0x00000044 # sH1@tlsldm - +[0-9a-f]+: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sH1@dtpoff +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sH2@dtpoff +[0-9a-f]+: 00 00 00 64 .long 0x00000064 # sg2@gotntpoff - +[0-9a-f]+: 00 00 00 38 .long 0x00000038 + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sl2@gotntpoff - +[0-9a-f]+: 00 00 00 08 .long 0x00000008 + +[0-9a-f]+: 00 00 00 18 .long 0x00000018 # sh2@gotntpoff - +[0-9a-f]+: 00 00 00 44 .long 0x00000044 + +[0-9a-f]+: 00 00 00 54 .long 0x00000054 # sH2@gotntpoff - +[0-9a-f]+: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # function prolog +[0-9a-f]+: 18 ef lr %r14,%r15 +[0-9a-f]+: 58 c0 d0 00 l %r12,0\(%r13\) @@ -143,18 +143,18 @@ Disassembly of section .text: +[0-9a-f]+: 58 43 c0 00 l %r4,0\(%r3,%r12\) +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # IE against global var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 24 l %r3,36\(%r12\) + +[0-9a-f]+: 58 30 c0 34 l %r3,52\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with small got access (no optimization) - +[0-9a-f]+: 58 30 c0 0c l %r3,12\(%r12\) + +[0-9a-f]+: 58 30 c0 1c l %r3,28\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden and local var with small got access # (no optimization) - +[0-9a-f]+: 58 30 c0 30 l %r3,48\(%r12\) + +[0-9a-f]+: 58 30 c0 40 l %r3,64\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden but not local var with small got access # (no optimization) - +[0-9a-f]+: 58 30 c0 34 l %r3,52\(%r12\) + +[0-9a-f]+: 58 30 c0 44 l %r3,68\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # function prolog +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd index 3d28203..20cb4bf 100644 --- a/ld/testsuite/ld-s390/tlspic.rd +++ b/ld/testsuite/ld-s390/tlspic.rd @@ -21,7 +21,6 @@ Section Headers: +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1 +\[[ 0-9]+\] .dynamic +DYNAMIC .* +\[[ 0-9]+\] .got +PROGBITS .* - +\[[ 0-9]+\] .got.plt +PROGBITS .* +\[[ 0-9]+\] .symtab .* +\[[ 0-9]+\] .strtab .* +\[[ 0-9]+\] .shstrtab .* @@ -42,7 +41,7 @@ Program Headers: Section to Segment mapping: +Segment Sections... +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text - +01 +.tdata .dynamic .got .got.plt + +01 +.tdata .dynamic .got +02 +.dynamic +03 +.tdata .tbss @@ -97,7 +96,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 -.* SECTION +LOCAL +DEFAULT +12 .* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 sl1 .* TLS +LOCAL +DEFAULT +8 sl2 diff --git a/ld/testsuite/ld-s390/tlspic.sd b/ld/testsuite/ld-s390/tlspic.sd index 9230f74..6e32dea 100644 --- a/ld/testsuite/ld-s390/tlspic.sd +++ b/ld/testsuite/ld-s390/tlspic.sd @@ -8,6 +8,7 @@ .*: +file format elf32-s390 Contents of section .got: + [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* [0-9a-f]+ 00000000 00000020 00000000 00000000 .* [0-9a-f]+ 00000000 00000000 00000000 00000060 .* [0-9a-f]+ 00000000 00000000 00000000 00000000 .* diff --git a/ld/testsuite/ld-s390/tlspic_64.dd b/ld/testsuite/ld-s390/tlspic_64.dd index 21c6d38..86fdbbd 100644 --- a/ld/testsuite/ld-s390/tlspic_64.dd +++ b/ld/testsuite/ld-s390/tlspic_64.dd @@ -15,40 +15,40 @@ Disassembly of section .text: +[0-9a-f]+: a7 d5 00 56 bras %r13,[0-9a-f]+ <fn1\+0xb2> # sg1@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 70 .long 0x00000070 # sg2@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 90 .long 0x00000090 # sl1@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sh1@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .8 .long 0x000000.8 + +[0-9a-f]+: 00 00 00 98 .long 0x00000098 # sh2@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .8 .long 0x000000.8 + +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8 # sH1@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 50 .long 0x00000050 # sH2@tlsgd +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sl1@tlsldm +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sl1@dtpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@dtpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 +[0-9a-f]+: 00 00 00 24 .long 0x00000024 # sh1@tlsldm +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sh1@dtpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 +[0-9a-f]+: 00 00 00 40 .long 0x00000040 @@ -57,7 +57,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 00 44 .long 0x00000044 # sH1@tlsldm +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sH1@dtpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 +[0-9a-f]+: 00 00 00 60 .long 0x00000060 @@ -66,19 +66,19 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 00 64 .long 0x00000064 # sg2@gotntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 90 .long 0x00000090 # sl2@gotntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sh2@gotntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .8 .long 0x000000.8 + +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8 # sH2@gotntpoff +[0-9a-f]+: 00 00 00 00 .long 0x00000000 - +[0-9a-f]+: 00 00 00 .0 .long 0x000000.0 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # function prolog +[0-9a-f]+: b9 04 00 ef lgr %r14,%r15 - +[0-9a-f]+: c0 c0 [0-9a-f ]+ larl %r12,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 c0 [0-9a-f ]+ larl %r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_> +[0-9a-f]+: a7 fb ff 60 aghi %r15,-160 +[0-9a-f]+: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) # extract TCB @@ -164,30 +164,30 @@ Disassembly of section .text: +[0-9a-f]+: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x38> +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against hidden and local var with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x80> +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against hidden but not local var with larl got access - +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <.*> + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x88> +[0-9a-f]+: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against global var with small got access (no optimization) - +[0-9a-f]+: e3 30 c0 .8 00 04 lg %r3,.*\(%r12\) + +[0-9a-f]+: e3 30 c0 68 00 04 lg %r3,104\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against local var with small got access (no optimization) - +[0-9a-f]+: e3 30 c0 .8 00 04 lg %r3,..\(%r12\) + +[0-9a-f]+: e3 30 c0 38 00 04 lg %r3,56\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden and local var with small got access # (no optimization) - +[0-9a-f]+: e3 30 c0 .0 00 04 lg %r3,.*\(%r12\) + +[0-9a-f]+: e3 30 c0 80 00 04 lg %r3,128\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE against hidden but not local var with small got access # (no optimization) - +[0-9a-f]+: e3 30 c0 .8 00 04 lg %r3,1..\(%r12\) + +[0-9a-f]+: e3 30 c0 88 00 04 lg %r3,136\(%r12\) +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # function epilog +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd index e44bbdb..646c611 100644 --- a/ld/testsuite/ld-s390/tlspic_64.rd +++ b/ld/testsuite/ld-s390/tlspic_64.rd @@ -21,7 +21,6 @@ Section Headers: +\[[ 0-9]+\] .tbss +NOBITS .* 0+20 00 WAT +0 +0 +1 +\[[ 0-9]+\] .dynamic +DYNAMIC .* +\[[ 0-9]+\] .got +PROGBITS .* -#... +\[[ 0-9]+\] .symtab .* +\[[ 0-9]+\] .strtab .* +\[[ 0-9]+\] .shstrtab .* @@ -97,7 +96,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 -#... .* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 sl1 .* TLS +LOCAL +DEFAULT +8 sl2 diff --git a/ld/testsuite/ld-s390/tlspic_64.sd b/ld/testsuite/ld-s390/tlspic_64.sd index c402710..267416e 100644 --- a/ld/testsuite/ld-s390/tlspic_64.sd +++ b/ld/testsuite/ld-s390/tlspic_64.sd @@ -8,13 +8,14 @@ .*: +file format elf64-s390 Contents of section .got: - [0-9a-f]+ 00000000 0000.... 00000000 000000.0 .* - [0-9a-f]+ 00000000 00000000 00000000 00000... .* - [0-9a-f]+ 00000000 00000000 00000000 00000... .* - [0-9a-f]+ 00000000 00000000 00000000 000000.0 .* - [0-9a-f]+ 00000000 00000000 00000000 000000.. .* - [0-9a-f]+ 00000000 00000000 00000000 00000... .* - [0-9a-f]+ 00000000 00000000 00000000 000000.. .* - [0-9a-f]+ 00000000 00000000 00000000 00000... .* - [0-9a-f]+ 00000000 000000.0 00000000 00000... .* -#...
\ No newline at end of file + [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .* + [0-9a-f]+ 00000000 00000000 00000000 00000020 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000060 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000040 00000000 00000000 .* |