diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-05-11 17:08:38 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-05-11 17:08:38 +0000 |
commit | 8c37241be3b1baf394090269b4b67babceb83d61 (patch) | |
tree | 83cc2b841784fdfedf486e1d40f8352833c1622c /ld/testsuite/ld-s390 | |
parent | 42edda508ef24ada777099d51f200a3b674a1724 (diff) | |
download | gdb-8c37241be3b1baf394090269b4b67babceb83d61.zip gdb-8c37241be3b1baf394090269b4b67babceb83d61.tar.gz gdb-8c37241be3b1baf394090269b4b67babceb83d61.tar.bz2 |
bfd/
* elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
into .dynsym if elf_section_data (sec)->dynindx <= 0.
Adjust counting of last_local.
(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
created by the linker nor !SHF_ALLOC.
* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
DT_PLTGOT to the start of the .got.plt section instead of the
.got output section. Set sh_entsize for .got section in addition
to .got.plt.
(elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
is at sgot->output_section->vma.
* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
DT_PLTGOT to the start of the .got.plt section instead of the
.got output section.
(elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
is at sgot->output_section->vma. Set sh_entsize for .got section
in addition to .got.plt.
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
(bfd_section_from_phdr): Likewise.
(map_sections_to_segments): Likewise.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Likewise.
* elflink.c (bfd_elf_size_dynamic_sections): Set
elf_tdata (output_bfd)->relro from info->relro.
* elf-bfd.h (struct elf_obj_tdata): Add relro field.
include/
* bfdlink.h (struct bfd_link_info): Add relro, relro_start and
relro_end fields.
* elf/common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments.
(PT_GNU_RELRO): Define.
binutils/
* readelf.c (get_segment_type): Handle PT_GNU_RELRO.
ld/
* genscripts.sh: Generate -z combreloc -z now -z relro scripts
for binaries, -shared and -pie.
* emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
* emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
(OTHER_RELRO_SECTIONS): ... this.
* ldlex.l (DATA_SEGMENT_RELRO_END): Add.
* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
-z relro and -z norelro.
(gld${EMULATION_NAME}_list_options): Add it to usage.
(gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
-z relro scripts when appropriate.
* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
Create separate .got.plt section if SEPARATE_GOTPLT.
Move sections which are only written during relocation handling
to the beginning of RW segment. If NO_SMALL_DATA, move .got
before .data. Add DATA_SEGMENT_RELRO_END directive.
Include OTHER_RELRO_SECTIONS.
* ldgram.y (DATA_SEGMENT_RELRO_END): Add.
* ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
(fold_unary): Likewise.
(fold_binary): Handle -z relro.
* ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
exp_dataseg_relro_adjust phases. Add relro_end field.
* ldmain.c (main): Initialize link_info.relro to FALSE.
* ldlang.c (lang_size_sections): Handle -z relro.
ld/testsuite/
* ld-i386/tlspic.rd: Adjust for section reordering changes
and removal of unneeded STT_SECTION symbols from .dynsym.
* ld-i386/tlspic.dd: Likewise.
* ld-i386/tlspic.sd: Likewise.
* ld-i386/tlsbin.rd: Likewise.
* ld-i386/tlsbinpic.s: Likewise.
* ld-i386/tlsbin.dd: Likewise.
* ld-i386/tlsbin.sd: Likewise.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlsnopic1.s: Likewise.
* ld-i386/combreloc.d: Likewise.
* ld-i386/tlsnopic.dd: Likewise.
* ld-i386/tlsnopic.sd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlsbin.dd: Likewise.
* ld-x86-64/tlspic.sd: Likewise.
* ld-x86-64/tlsbin.sd: Likewise.
* ld-x86-64/tlspic.td: Likewise.
* ld-x86-64/tlsbin.td: Likewise.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-s390/tlspic1.s: Likewise.
* ld-s390/tlsbinpic.s: Likewise.
* ld-s390/tlspic.rd: Likewise.
* ld-s390/tlsbin.rd: Likewise.
* ld-s390/tlspic.dd: Likewise.
* ld-s390/tlsbin.dd: Likewise.
* ld-s390/tlsbin.sd: Likewise.
* ld-s390/tlsbin.td: Likewise.
* ld-s390/tlspic.sd: Likewise.
* ld-s390/tlspic.td: Likewise.
* ld-s390/tlspic1_64.s: Likewise.
* ld-s390/tlsbinpic_64.s: Likewise.
* ld-s390/tlspic_64.rd: Likewise.
* ld-s390/tlsbin_64.rd: Likewise.
* ld-s390/tlspic_64.dd: Likewise.
* ld-s390/tlsbin_64.dd: Likewise.
* ld-s390/tlspic_64.sd: Likewise.
* ld-s390/tlspic_64.td: Likewise.
* ld-s390/tlsbin_64.td: Likewise.
* ld-s390/tlsbin_64.sd: Likewise.
* ld-powerpc/tlsexe32.r: Likewise.
* ld-powerpc/tlsso32.r: Likewise.
* ld-powerpc/tlsso32.d: Likewise.
* ld-powerpc/tlsso32.g: Likewise.
* ld-powerpc/tlsso32.t: Likewise.
* ld-powerpc/tlsexe.r: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlsso.g: Likewise.
* ld-powerpc/tlsexetoc.r: Likewise.
* ld-powerpc/tlstocso.r: Likewise.
* ld-powerpc/tlstocso.g: Likewise.
* ld-ia64/tlspic.rd: Likewise.
* ld-ia64/tlspic.dd: Likewise.
* ld-ia64/tlspic.sd: Likewise.
* ld-ia64/tlspic.td: Likewise.
* ld-ia64/tlsbin.rd: Likewise.
* ld-ia64/tlsbin.sd: Likewise.
* ld-ia64/tlsbin.td: Likewise.
* ld-elfvsb/elfvsb.exp: XFAIL non-PIC load offset tests on s390x.
* ld-shared/shared.exp: Likewise.
Diffstat (limited to 'ld/testsuite/ld-s390')
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.dd | 232 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.rd | 198 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.sd | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin.td | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.dd | 288 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.rd | 210 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.sd | 16 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbin_64.td | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbinpic.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlsbinpic_64.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.dd | 228 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.rd | 211 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.sd | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic.td | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic1.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic1_64.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.dd | 270 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.rd | 231 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.sd | 22 | ||||
-rw-r--r-- | ld/testsuite/ld-s390/tlspic_64.td | 12 |
20 files changed, 1008 insertions, 972 deletions
diff --git a/ld/testsuite/ld-s390/tlsbin.dd b/ld/testsuite/ld-s390/tlsbin.dd index 215a98d..82b1b87 100644 --- a/ld/testsuite/ld-s390/tlsbin.dd +++ b/ld/testsuite/ld-s390/tlsbin.dd @@ -18,168 +18,176 @@ Disassembly of section .text: -0+4002e4 <fn2>: +0+[0-9a-f]+ <fn2>: # function prolog - +4002e4: 90 6e f0 18 stm %r6,%r14,24\(%r15\) - +4002e8: a7 d5 00 24 bras %r13,400330 <fn2\+0x4c> + +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) + +[0-9a-f]+: a7 d5 00 24 bras %r13,[0-9a-f]+ <fn2\+0x4c> # _GLOBAL_OFFSET_TABLE_ - +4002ec: 00 00 12 90 .long 0x00001290 + +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # __tls_get_addr@plt-.LT1 - +4002f0: ff ff ff d8 .long 0xffffffd8 + +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # sG1@tlsgd - +4002f4: 00 00 00 28 .long 0x00000028 + +[0-9a-f]+: 00 00 00 28 .long 0x00000028 # sG2@tlsgd - +4002f8: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sg1@tlsgd - +4002fc: ff ff ff 60 .long 0xffffff60 + +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@tlsgd - +400300: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sh1@tlsgd - +400304: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # sl1@tlsldm - +400308: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 # sl1@dtpoff - +40030c: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sl2@dtpoff - +400310: ff ff ff 84 .long 0xffffff84 + +[0-9a-f]+: ff ff ff 84 .long 0xffffff84 # sh1@tlsldm - +400314: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 # sh1@dtpoff - +400318: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # sh2@dtpoff - +40031c: ff ff ff a4 .long 0xffffffa4 + +[0-9a-f]+: ff ff ff a4 .long 0xffffffa4 # sG2@gotntpoff - +400320: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sg1@gotntpoff - +400324: ff ff ff 60 .long 0xffffff60 + +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@gotntpoff - +400328: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sh1@gotntpoff - +40032c: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # function prolog - +400330: 18 ef lr %r14,%r15 - +400332: 58 c0 d0 00 l %r12,0\(%r13\) - +400336: a7 fa ff a0 ahi %r15,-96 - +40033a: 41 cc d0 00 la %r12,0\(%r12,%r13\) - +40033e: 50 e0 e0 00 st %r14,0\(%r14\) + +[0-9a-f]+: 18 ef lr %r14,%r15 + +[0-9a-f]+: 58 c0 d0 00 l %r12,0\(%r13\) + +[0-9a-f]+: a7 fa ff a0 ahi %r15,-96 + +[0-9a-f]+: 41 cc d0 00 la %r12,0\(%r12,%r13\) + +[0-9a-f]+: 50 e0 e0 00 st %r14,0\(%r14\) # Extract TCB and load branch offset - +400342: b2 4f 00 90 ear %r9,%a0 - +400346: 58 70 d0 04 l %r7,4\(%r13\) + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: 58 70 d0 04 l %r7,4\(%r13\) # GD -> IE because variable is not defined in executable - +40034a: 58 20 d0 08 l %r2,8\(%r13\) - +40034e: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +400352: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 08 l %r2,8\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE because variable is not defined in executable where # the variable is referenced through IE too - +400356: 58 20 d0 0c l %r2,12\(%r13\) - +40035a: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +40035e: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 0c l %r2,12\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with global variable defined in executable - +400362: 58 20 d0 10 l %r2,16\(%r13\) - +400366: 47 00 00 00 bc 0,0 - +40036a: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 10 l %r2,16\(%r13\) + +[0-9a-f]+: 47 00 00 00 bc 0,0 + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with local variable defined in executable - +40036e: 58 20 d0 14 l %r2,20\(%r13\) - +400372: 47 00 00 00 bc 0,0 - +400376: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 14 l %r2,20\(%r13\) + +[0-9a-f]+: 47 00 00 00 bc 0,0 + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with hidden variable defined in executable - +40037a: 58 20 d0 18 l %r2,24\(%r13\) - +40037e: 47 00 00 00 bc 0,0 - +400382: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 18 l %r2,24\(%r13\) + +[0-9a-f]+: 47 00 00 00 bc 0,0 + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # LD -> LE - +400386: 58 20 d0 1c l %r2,28\(%r13\) - +40038a: 47 00 00 00 bc 0,0 - +40038e: 41 32 90 00 la %r3,0\(%r2,%r9\) - +400392: 58 40 d0 20 l %r4,32\(%r13\) - +400396: 41 54 30 00 la %r5,0\(%r4,%r3\) - +40039a: 58 40 d0 24 l %r4,36\(%r13\) - +40039e: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 20 d0 1c l %r2,28\(%r13\) + +[0-9a-f]+: 47 00 00 00 bc 0,0 + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: 58 40 d0 20 l %r4,32\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 40 d0 24 l %r4,36\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # LD -> LE against hidden variables - +4003a2: 58 20 d0 28 l %r2,40\(%r13\) - +4003a6: 47 00 00 00 bc 0,0 - +4003aa: 41 32 90 00 la %r3,0\(%r2,%r9\) - +4003ae: 58 40 d0 2c l %r4,44\(%r13\) - +4003b2: 41 54 30 00 la %r5,0\(%r4,%r3\) - +4003b6: 58 40 d0 30 l %r4,48\(%r13\) - +4003ba: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 20 d0 28 l %r2,40\(%r13\) + +[0-9a-f]+: 47 00 00 00 bc 0,0 + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: 58 40 d0 2c l %r4,44\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 40 d0 30 l %r4,48\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # IE against global var - +4003be: 58 30 d0 34 l %r3,52\(%r13\) - +4003c2: 58 33 c0 00 l %r3,0\(%r3,%r12\) - +4003c6: 58 33 90 00 l %r3,0\(%r3,%r9\) + +[0-9a-f]+: 58 30 d0 34 l %r3,52\(%r13\) + +[0-9a-f]+: 58 33 c0 00 l %r3,0\(%r3,%r12\) + +[0-9a-f]+: 58 33 90 00 l %r3,0\(%r3,%r9\) # IE -> LE against global var defined in exec - +4003ca: 58 30 d0 38 l %r3,56\(%r13\) - +4003ce: 18 43 lr %r4,%r3 - +4003d0: 07 00 bcr 0,%r0 - +4003d2: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 38 l %r3,56\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE -> LE against local var - +4003d6: 58 30 d0 3c l %r3,60\(%r13\) - +4003da: 18 43 lr %r4,%r3 - +4003dc: 07 00 bcr 0,%r0 - +4003de: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 3c l %r3,60\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE -> LE against hidden var - +4003e2: 58 30 d0 40 l %r3,64\(%r13\) - +4003e6: 18 43 lr %r4,%r3 - +4003e8: 07 00 bcr 0,%r0 - +4003ea: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 40 l %r3,64\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE against global var with small got access (no optimization) - +4003ee: 58 30 c0 14 l %r3,20\(%r12\) - +4003f2: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +4003f6: 58 30 c0 18 l %r3,24\(%r12\) - +4003fa: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +4003fe: 58 30 c0 10 l %r3,16\(%r12\) - +400402: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +400406: 58 30 c0 1c l %r3,28\(%r12\) - +40040a: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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 - +40040e: 98 6e f0 78 lm %r6,%r14,120\(%r15\) - +400412: 07 fe br %r14 + +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) + +[0-9a-f]+: 07 fe br %r14 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 -0+400414 <_start>: +0+[0-9a-f]+ <_start>: # function prolog - +400414: 90 6e f0 18 stm %r6,%r14,24\(%r15\) - +400418: a7 d5 00 0c bras %r13,400430 <_start\+0x1c> + +[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 - +40041c: 00 40 15 a0 .long 0x004015a0 + +[0-9a-f]+: 00 40 15 e4 .long 0x004015e4 # bg6@indntpoff - +400420: ff ff ff d4 .long 0xffffffd4 + +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 # bl6@indntpoff - +400424: ff ff ff f4 .long 0xfffffff4 + +[0-9a-f]+: ff ff ff f4 .long 0xfffffff4 # sh6@indntpoff - +400428: ff ff ff b4 .long 0xffffffb4 + +[0-9a-f]+: ff ff ff b4 .long 0xffffffb4 # sg3@indntpoff - +40042c: ff ff ff 68 .long 0xffffff68 + +[0-9a-f]+: ff ff ff 68 .long 0xffffff68 # function prolog - +400430: 18 ef lr %r14,%r15 - +400432: a7 fa ff a0 ahi %r15,-96 - +400436: 50 e0 e0 00 st %r14,0\(%r14\) + +[0-9a-f]+: 18 ef lr %r14,%r15 + +[0-9a-f]+: a7 fa ff a0 ahi %r15,-96 + +[0-9a-f]+: 50 e0 e0 00 st %r14,0\(%r14\) # Extract TCB - +40043a: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 # IE against global var - +40043e: 58 30 d0 00 l %r3,0\(%r13\) - +400442: 58 33 c0 00 l %r3,0\(%r3,%r12\) - +400446: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: 58 30 d0 00 l %r3,0\(%r13\) + +[0-9a-f]+: 58 33 c0 00 l %r3,0\(%r3,%r12\) + +[0-9a-f]+: 41 33 90 00 la %r3,0\(%r3,%r9\) # IE -> LE against global var defined in exec - +40044a: 58 30 d0 04 l %r3,4\(%r13\) - +40044e: 18 43 lr %r4,%r3 - +400450: 07 00 bcr 0,%r0 - +400452: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 04 l %r3,4\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE -> LE against local var - +400456: 58 30 d0 08 l %r3,8\(%r13\) - +40045a: 18 43 lr %r4,%r3 - +40045c: 07 00 bcr 0,%r0 - +40045e: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 08 l %r3,8\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # IE -> LE against hidden but not local var - +400462: 58 30 d0 0c l %r3,12\(%r13\) - +400466: 18 43 lr %r4,%r3 - +400468: 07 00 bcr 0,%r0 - +40046a: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 30 d0 0c l %r3,12\(%r13\) + +[0-9a-f]+: 18 43 lr %r4,%r3 + +[0-9a-f]+: 07 00 bcr 0,%r0 + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # LE, global var defined in exec - +40046e: 58 40 d0 10 l %r4,16\(%r13\) - +400472: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: 58 40 d0 10 l %r4,16\(%r13\) + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # function epilog - +400476: 98 6e f0 78 lm %r6,%r14,120\(%r15\) - +40047a: 07 fe br %r14 + +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) + +[0-9a-f]+: 07 fe br %r14 diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd index e643b6e..f711f11 100644 --- a/ld/testsuite/ld-s390/tlsbin.rd +++ b/ld/testsuite/ld-s390/tlsbin.rd @@ -5,7 +5,7 @@ #readelf: -Ssrl #target: s390-*-* -There are 19 section headers, starting at offset 0x[0-9a-f]+: +There are 18 section headers, starting at offset 0x[0-9a-f]+: Section Headers: \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al @@ -17,24 +17,23 @@ Section Headers: \[ 5\] .rela.dyn +.* \[ 6\] .rela.plt +.* \[ 7\] .plt +.* - \[ 8\] .text +PROGBITS +0+4002e4 0+2e4 0+198 00 +AX +0 +0 +4 - \[ 9\] .data +.* - \[10\] .tdata +PROGBITS +0+40147c 0+47c 0+60 00 WAT +0 +0 +1 - \[11\] .tbss +NOBITS +0+4014dc 0+4dc 0+40 00 WAT +0 +0 +1 - \[12\] .dynamic +DYNAMIC +0+4014dc 0+4dc 0+a0 08 +WA +4 +0 +4 - \[13\] .got +PROGBITS +0+40157c 0+57c 0+2c 04 +WA +0 +0 +4 - \[14\] .sbss +.* - \[15\] .bss +.* - \[16\] .shstrtab +.* - \[17\] .symtab +.* - \[18\] .strtab +.* + \[ 8\] .text +PROGBITS +.* + \[ 9\] .tdata +PROGBITS +0+4014c0 0+4c0 0+60 00 WAT +0 +0 +32 + \[10\] .tbss +NOBITS +0+401520 0+520 0+40 00 WAT +0 +0 +1 + \[11\] .dynamic +DYNAMIC +0+401520 0+520 0+a0 08 +WA +4 +0 +4 + \[12\] .got +PROGBITS +0+4015c0 0+5c0 0+2c 04 +WA +0 +0 +4 + \[13\] .data +.* + \[14\] .bss +.* + \[15\] .shstrtab +.* + \[16\] .symtab +.* + \[17\] .strtab +.* Key to Flags: .* .* .* Elf file type is EXEC \(Executable file\) -Entry point 0x400414 +Entry point 0x[0-9a-f]+ There are 6 program headers, starting at offset [0-9]+ Program Headers: @@ -42,10 +41,10 @@ Program Headers: PHDR +0x0+34 0x0+400034 0x0+400034 0x0+c0 0x0+c0 R E 0x4 INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+11 0x0+11 R +0x1 .*Requesting program interpreter.* - LOAD +0x0+ 0x0+400000 0x0+400000 0x0+47c 0x0+47c R E 0x1000 - LOAD +0x0+47c 0x0+40147c 0x0+40147c 0x0+12c 0x0+12c RW 0x1000 - DYNAMIC +0x0+4dc 0x0+4014dc 0x0+4014dc 0x0+a0 0x0+a0 RW 0x4 - TLS +0x0+47c 0x0+40147c 0x0+40147c 0x0+60 0x0+a0 R +0x1 + LOAD +0x0+ 0x0+400000 0x0+400000 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000 + LOAD +0x0+4c0 0x0+4014c0 0x0+4014c0 0x0+12c 0x0+12c RW 0x1000 + DYNAMIC +0x0+520 0x0+401520 0x0+401520 0x0+a0 0x0+a0 RW 0x4 + TLS +0x0+4c0 0x0+4014c0 0x0+4014c0 0x0+60 0x0+a0 R +0x20 Section to Segment mapping: Segment Sections... @@ -69,88 +68,87 @@ Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: Symbol table '.dynsym' contains 11 entries: +Num: +Value Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: 0+ +0 TLS +GLOBAL DEFAULT UND sG3 - +2: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +3: 0+ +0 TLS +GLOBAL DEFAULT UND sG2 - +4: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_offset - +5: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +6: 0+ +0 TLS +GLOBAL DEFAULT UND sG6 - +7: 0+ +0 TLS +GLOBAL DEFAULT UND sG1 - +8: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +9: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +10: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG3 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG2 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG6 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end -Symbol table '.symtab' contains 71 entries: +Symbol table '.symtab' contains 70 entries: +Num: +Value Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 - +2: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 - +3: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 - +4: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 - +5: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 - +6: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 - +7: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 - +8: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 - +9: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 - +10: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 - +11: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 - +12: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 - +13: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 - +14: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 - +15: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +15 - +16: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +16 - +17: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +17 - +18: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +18 - +19: 0+20 +0 TLS +LOCAL DEFAULT +10 sl1 - +20: 0+24 +0 TLS +LOCAL DEFAULT +10 sl2 - +21: 0+28 +0 TLS +LOCAL DEFAULT +10 sl3 - +22: 0+2c +0 TLS +LOCAL DEFAULT +10 sl4 - +23: 0+30 +0 TLS +LOCAL DEFAULT +10 sl5 - +24: 0+34 +0 TLS +LOCAL DEFAULT +10 sl6 - +25: 0+38 +0 TLS +LOCAL DEFAULT +10 sl7 - +26: 0+3c +0 TLS +LOCAL DEFAULT +10 sl8 - +27: 0+80 +0 TLS +LOCAL DEFAULT +11 bl1 - +28: 0+84 +0 TLS +LOCAL DEFAULT +11 bl2 - +29: 0+88 +0 TLS +LOCAL DEFAULT +11 bl3 - +30: 0+8c +0 TLS +LOCAL DEFAULT +11 bl4 - +31: 0+90 +0 TLS +LOCAL DEFAULT +11 bl5 - +32: 0+94 +0 TLS +LOCAL DEFAULT +11 bl6 - +33: 0+98 +0 TLS +LOCAL DEFAULT +11 bl7 - +34: 0+9c +0 TLS +LOCAL DEFAULT +11 bl8 - +35: 0+ +0 TLS +GLOBAL DEFAULT UND sG3 - +36: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8 - +37: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8 - +38: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6 - +39: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3 - +40: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +41: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3 - +42: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3 - +43: 0+ +0 TLS +GLOBAL DEFAULT UND sG2 - +44: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4 - +45: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5 - +46: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5 - +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7 - +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8 - +49: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_offset - +50: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1 - +51: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start - +52: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4 - +53: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7 - +54: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5 - +55: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +56: 0+ +0 TLS +GLOBAL DEFAULT UND sG6 - +57: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2 - +58: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2 - +59: 0+ +0 TLS +GLOBAL DEFAULT UND sG1 - +60: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1 - +61: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6 - +62: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7 - +63: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +64: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +65: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end - +66: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2 - +67: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6 - +68: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2 - +69: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1 - +70: 0+6c +0 TLS +GLOBAL DEFAULT +11 bg4 + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +15 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +16 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +17 + +[0-9]+: 0+20 +0 TLS +LOCAL DEFAULT +9 sl1 + +[0-9]+: 0+24 +0 TLS +LOCAL DEFAULT +9 sl2 + +[0-9]+: 0+28 +0 TLS +LOCAL DEFAULT +9 sl3 + +[0-9]+: 0+2c +0 TLS +LOCAL DEFAULT +9 sl4 + +[0-9]+: 0+30 +0 TLS +LOCAL DEFAULT +9 sl5 + +[0-9]+: 0+34 +0 TLS +LOCAL DEFAULT +9 sl6 + +[0-9]+: 0+38 +0 TLS +LOCAL DEFAULT +9 sl7 + +[0-9]+: 0+3c +0 TLS +LOCAL DEFAULT +9 sl8 + +[0-9]+: 0+80 +0 TLS +LOCAL DEFAULT +10 bl1 + +[0-9]+: 0+84 +0 TLS +LOCAL DEFAULT +10 bl2 + +[0-9]+: 0+88 +0 TLS +LOCAL DEFAULT +10 bl3 + +[0-9]+: 0+8c +0 TLS +LOCAL DEFAULT +10 bl4 + +[0-9]+: 0+90 +0 TLS +LOCAL DEFAULT +10 bl5 + +[0-9]+: 0+94 +0 TLS +LOCAL DEFAULT +10 bl6 + +[0-9]+: 0+98 +0 TLS +LOCAL DEFAULT +10 bl7 + +[0-9]+: 0+9c +0 TLS +LOCAL DEFAULT +10 bl8 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG3 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 + +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +10 bg8 + +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +10 bg6 + +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 + +[0-9]+: 0+48 +0 TLS +GLOBAL HIDDEN +9 sh3 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG2 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 + +[0-9]+: 0+70 +0 TLS +GLOBAL DEFAULT +10 bg5 + +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7 + +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start + +[0-9]+: 0+4c +0 TLS +GLOBAL HIDDEN +9 sh4 + +[0-9]+: 0+78 +0 TLS +GLOBAL DEFAULT +10 bg7 + +[0-9]+: 0+50 +0 TLS +GLOBAL HIDDEN +9 sh5 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG6 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2 + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG1 + +[0-9]+: 0+40 +0 TLS +GLOBAL HIDDEN +9 sh1 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+44 +0 TLS +GLOBAL HIDDEN +9 sh2 + +[0-9]+: 0+54 +0 TLS +GLOBAL HIDDEN +9 sh6 + +[0-9]+: 0+64 +0 TLS +GLOBAL DEFAULT +10 bg2 + +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +10 bg1 + +[0-9]+: 0+6c +0 TLS +GLOBAL DEFAULT +10 bg4 diff --git a/ld/testsuite/ld-s390/tlsbin.sd b/ld/testsuite/ld-s390/tlsbin.sd index fd48420..b1ecbf0 100644 --- a/ld/testsuite/ld-s390/tlsbin.sd +++ b/ld/testsuite/ld-s390/tlsbin.sd @@ -8,6 +8,6 @@ .*: file format elf32-s390 Contents of section .got: - 40157c [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .@...........@.. - 40158c ffffff88 00000000 ffffff68 ffffffa8 ...........h.... - 40159c 00000000 00000000 00000000 ............ + [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.td b/ld/testsuite/ld-s390/tlsbin.td index 6ecd9c7..f0a61b8 100644 --- a/ld/testsuite/ld-s390/tlsbin.td +++ b/ld/testsuite/ld-s390/tlsbin.td @@ -8,9 +8,9 @@ .*: file format elf32-s390 Contents of section .tdata: - 40147c 00000011 00000012 00000013 00000014 .* - 40148c 00000015 00000016 00000017 00000018 .* - 40149c 00000041 00000042 00000043 00000044 .* - 4014ac 00000045 00000046 00000047 00000048 .* - 4014bc 00000101 00000102 00000103 00000104 .* - 4014cc 00000105 00000106 00000107 00000108 .* + [0-9a-f]+ 00000011 00000012 00000013 00000014 .* + [0-9a-f]+ 00000015 00000016 00000017 00000018 .* + [0-9a-f]+ 00000041 00000042 00000043 00000044 .* + [0-9a-f]+ 00000045 00000046 00000047 00000048 .* + [0-9a-f]+ 00000101 00000102 00000103 00000104 .* + [0-9a-f]+ 00000105 00000106 00000107 00000108 .* diff --git a/ld/testsuite/ld-s390/tlsbin_64.dd b/ld/testsuite/ld-s390/tlsbin_64.dd index ca13d73..664991a 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.dd +++ b/ld/testsuite/ld-s390/tlsbin_64.dd @@ -18,196 +18,206 @@ Disassembly of section .text: -0+80000458 <fn2>: +0+[0-9a-f]+ <fn2>: # function prolog - +80000458: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\) - +8000045e: a7 d5 00 3e bras %r13,800004da <fn2\+0x82> + +[0-9a-f]+: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\) + +[0-9a-f]+: a7 d5 00 3e bras %r13,[0-9a-f]+ <fn2\+0x82> # sG1@tlsgd - +80000462: 00 00 00 00 .long 0x00000000 - +80000466: 00 00 00 60 .long 0x00000060 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sG2@tlsgd - +8000046a: 00 00 00 00 .long 0x00000000 - +8000046e: 00 00 00 48 .long 0x00000048 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sg1@tlsgd - +80000472: ff ff ff ff .long 0xffffffff - +80000476: ff ff ff 60 .long 0xffffff60 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@tlsgd - +8000047a: ff ff ff ff .long 0xffffffff - +8000047e: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sh1@tlsgd - +80000482: ff ff ff ff .long 0xffffffff - +80000486: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # sl1@tlsldm - +8000048a: 00 00 00 00 .long 0x00000000 - +8000048e: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 # sl1@dtpoff - +80000492: ff ff ff ff .long 0xffffffff - +80000496: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sl2@dtpoff - +8000049a: ff ff ff ff .long 0xffffffff - +8000049e: ff ff ff 84 .long 0xffffff84 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 84 .long 0xffffff84 # sh1@tlsldm - +800004a2: 00 00 00 00 .long 0x00000000 - +800004a6: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 # sh1@dtpoff - +800004aa: ff ff ff ff .long 0xffffffff - +800004ae: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # sh2@dtpoff - +800004b2: ff ff ff ff .long 0xffffffff - +800004b6: ff ff ff a4 .long 0xffffffa4 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff a4 .long 0xffffffa4 # sG2@gotntpoff - +800004ba: 00 00 00 00 .long 0x00000000 - +800004be: 00 00 00 48 .long 0x00000048 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sg1@gotntpoff - +800004c2: ff ff ff ff .long 0xffffffff - +800004c6: ff ff ff 60 .long 0xffffff60 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 60 .long 0xffffff60 # sl1@gotntpoff - +800004ca: ff ff ff ff .long 0xffffffff - +800004ce: ff ff ff 80 .long 0xffffff80 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 80 .long 0xffffff80 # sh1@gotntpoff - +800004d2: ff ff ff ff .long 0xffffffff - +800004d6: ff ff ff a0 .long 0xffffffa0 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff a0 .long 0xffffffa0 # function prolog - +800004da: b9 04 00 ef lgr %r14,%r15 - +800004de: a7 fb ff 60 aghi %r15,-160 - +800004e2: c0 c0 00 00 09 d3 larl %r12,80001888 <_GLOBAL_OFFSET_TABLE_> - +800004e8: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) + +[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]+ <_GLOBAL_OFFSET_TABLE_> + +[0-9a-f]+: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) # extract TCB - +800004ee: b2 4f 00 90 ear %r9,%a0 - +800004f2: eb 94 00 20 00 0d sllg %r9,%r4,32 - +800004f8: b2 4f 00 91 ear %r9,%a1 + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: eb 94 00 20 00 0d sllg %r9,%r4,32 + +[0-9a-f]+: b2 4f 00 91 ear %r9,%a1 # GD -> IE because variable is not defined in executable - +800004fc: e3 c0 d0 00 00 04 lg %r12,0\(%r13\) - +80000502: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +80000508: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 c0 d0 00 00 04 lg %r12,0\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE because variable is not defined in executable where # the variable is referenced through IE too - +8000050c: e3 20 d0 08 00 04 lg %r2,8\(%r13\) - +80000512: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +80000518: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 08 00 04 lg %r2,8\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with global variable defined in executable - +8000051c: e3 20 d0 10 00 04 lg %r2,16\(%r13\) - +80000522: c0 04 00 00 00 00 brcl 0,80000522 <fn2\+0xca> - +80000528: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 10 00 04 lg %r2,16\(%r13\) + +[0-9a-f]+: c0 04 00 00 00 00 brcl 0,[0-9a-f]+ <fn2\+0xca> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with local variable defined in executable - +8000052c: e3 20 d0 18 00 04 lg %r2,24\(%r13\) - +80000532: c0 04 00 00 00 00 brcl 0,80000532 <fn2\+0xda> - +80000538: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 18 00 04 lg %r2,24\(%r13\) + +[0-9a-f]+: c0 04 00 00 00 00 brcl 0,[0-9a-f]+ <fn2\+0xda> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> LE with hidden variable defined in executable - +8000053c: e3 20 d0 20 00 04 lg %r2,32\(%r13\) - +80000542: c0 04 00 00 00 00 brcl 0,80000542 <fn2\+0xea> - +80000548: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 20 00 04 lg %r2,32\(%r13\) + +[0-9a-f]+: c0 04 00 00 00 00 brcl 0,[0-9a-f]+ <fn2\+0xea> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # LD -> LE - +8000054c: e3 20 d0 28 00 04 lg %r2,40\(%r13\) - +80000552: c0 04 00 00 00 00 brcl 0,80000552 <fn2\+0xfa> - +80000558: 41 32 90 00 la %r3,0\(%r2,%r9\) - +8000055c: e3 40 d0 30 00 04 lg %r4,48\(%r13\) - +80000562: 41 54 30 00 la %r5,0\(%r4,%r3\) - +80000566: e3 40 d0 38 00 04 lg %r4,56\(%r13\) - +8000056c: 41 54 30 00 la %r5,0\(%r4,%r3\) - +80000570: e3 20 d0 40 00 04 lg %r2,64\(%r13\) - +80000576: c0 04 00 00 00 00 brcl 0,80000576 <fn2\+0x11e> - +8000057c: 41 32 90 00 la %r3,0\(%r2,%r9\) - +80000580: e3 40 d0 48 00 04 lg %r4,72\(%r13\) - +80000586: 41 54 30 00 la %r5,0\(%r4,%r3\) - +8000058a: e3 40 d0 50 00 04 lg %r4,80\(%r13\) - +80000590: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 20 d0 28 00 04 lg %r2,40\(%r13\) + +[0-9a-f]+: c0 04 00 00 00 00 brcl 0,[0-9a-f]+ <fn2\+0xfa> + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: e3 40 d0 30 00 04 lg %r4,48\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 40 d0 38 00 04 lg %r4,56\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 20 d0 40 00 04 lg %r2,64\(%r13\) + +[0-9a-f]+: c0 04 00 00 00 00 brcl 0,[0-9a-f]+ <fn2\+0x11e> + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: e3 40 d0 48 00 04 lg %r4,72\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 40 d0 50 00 04 lg %r4,80\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # IE against global var - +80000594: e3 30 d0 58 00 04 lg %r3,88\(%r13\) - +8000059a: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) - +800005a0: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: e3 30 d0 58 00 04 lg %r3,88\(%r13\) + +[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 -> LE against global var defined in exec - +800005a4: e3 30 d0 60 00 04 lg %r3,96\(%r13\) - +800005aa: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800005b0: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 60 00 04 lg %r3,96\(%r13\) + +[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 -> LE against local var - +800005b4: e3 30 d0 68 00 04 lg %r3,104\(%r13\) - +800005ba: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800005c0: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 68 00 04 lg %r3,104\(%r13\) + +[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 -> LE against hidden var - +800005c4: e3 30 d0 70 00 04 lg %r3,112\(%r13\) - +800005ca: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800005d0: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 70 00 04 lg %r3,112\(%r13\) + +[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 larl got access - +800005d4: c0 30 00 00 09 6e larl %r3,800018b0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x28> - +800005da: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) - +800005e0: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x28> + +[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 - +800005e4: c0 30 00 00 09 6e larl %r3,800018c0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38> - +800005ea: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800005f0: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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 - +800005f4: c0 30 00 00 09 5a larl %r3,800018a8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x20> - +800005fa: eb 43 00 00 00 0d sllg %r4,%r3,0 - +80000600: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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 - +80000604: c0 30 00 00 09 62 larl %r3,800018c8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x40> - +8000060a: eb 43 00 00 00 0d sllg %r4,%r3,0 - +80000610: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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) - +80000614: e3 30 c0 28 00 04 lg %r3,40\(%r12\) - +8000061a: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +8000061e: e3 30 c0 38 00 04 lg %r3,56\(%r12\) - +80000624: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +80000628: e3 30 c0 20 00 04 lg %r3,32\(%r12\) - +8000062e: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +80000632: e3 30 c0 40 00 04 lg %r3,64\(%r12\) - +80000638: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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 - +8000063c: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) - +80000642: 07 fe br %r14 + +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) + +[0-9a-f]+: 07 fe br %r14 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 -0+80000644 <_start>: +0+[0-9a-f]+ <_start>: # function prolog - +80000644: 90 6e f0 18 stm %r6,%r14,24\(%r15\) - +80000648: a7 d5 00 16 bras %r13,80000674 <_start\+0x30> + +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) + +[0-9a-f]+: a7 d5 00 16 bras %r13,[0-9a-f]+ <_start\+0x30> # sG6@indntpoff - +8000064c: 00 00 00 00 .long 0x00000000 - +80000650: 80 00 18 e0 ssm 2272\(%r1\) + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 80 00 [0-9a-f ]+ ssm [0-9]+\(%r1\) # bg6@indntpoff - +80000654: ff ff ff ff .long 0xffffffff - +80000658: ff ff ff d4 .long 0xffffffd4 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff d4 .long 0xffffffd4 # bl6@indntpoff - +8000065c: ff ff ff ff .long 0xffffffff - +80000660: ff ff ff f4 .long 0xfffffff4 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff f4 .long 0xfffffff4 # sh6@indntpoff - +80000664: ff ff ff ff .long 0xffffffff - +80000668: ff ff ff b4 .long 0xffffffb4 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff b4 .long 0xffffffb4 # sg3@indntpoff - +8000066c: ff ff ff ff .long 0xffffffff - +80000670: ff ff ff 68 .long 0xffffff68 + +[0-9a-f]+: ff ff ff ff .long 0xffffffff + +[0-9a-f]+: ff ff ff 68 .long 0xffffff68 # function prolog - +80000674: b9 04 00 ef lgr %r14,%r15 - +80000678: a7 fb ff 60 aghi %r15,-160 - +8000067c: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) + +[0-9a-f]+: b9 04 00 ef lgr %r14,%r15 + +[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 - +80000682: b2 4f 00 90 ear %r9,%a0 - +80000686: eb 94 00 20 00 0d sllg %r9,%r4,32 - +8000068c: b2 4f 00 91 ear %r9,%a1 + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: eb 94 00 20 00 0d sllg %r9,%r4,32 + +[0-9a-f]+: b2 4f 00 91 ear %r9,%a1 # IE against global var - +80000690: e3 30 d0 00 00 04 lg %r3,0\(%r13\) - +80000696: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) - +8000069c: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: e3 30 d0 00 00 04 lg %r3,0\(%r13\) + +[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 -> LE against global var defined in exec - +800006a0: e3 30 d0 08 00 04 lg %r3,8\(%r13\) - +800006a6: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800006ac: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 08 00 04 lg %r3,8\(%r13\) + +[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 -> LE against local var - +800006b0: e3 30 d0 10 00 04 lg %r3,16\(%r13\) - +800006b6: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800006bc: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 10 00 04 lg %r3,16\(%r13\) + +[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 -> LE against hidden but not local var - +800006c0: e3 30 d0 18 00 04 lg %r3,24\(%r13\) - +800006c6: eb 43 00 00 00 0d sllg %r4,%r3,0 - +800006cc: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 18 00 04 lg %r3,24\(%r13\) + +[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\) # LE, global var defined in exec - +800006d0: e3 40 d0 20 00 04 lg %r4,32\(%r13\) - +800006d6: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 40 d0 20 00 04 lg %r4,32\(%r13\) + +[0-9a-f]+: 41 54 90 00 la %r5,0\(%r4,%r9\) # function epilog - +800006da: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) - +800006e0: 07 fe br %r14 - +800006e2: 07 07 bcr 0,%r7 + +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) + +[0-9a-f]+: 07 fe br %r14 + +[0-9a-f]+: 07 07 bcr 0,%r7 diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd index b9ded2b..42515f0 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.rd +++ b/ld/testsuite/ld-s390/tlsbin_64.rd @@ -5,7 +5,7 @@ #readelf: -Ssrl #target: s390x-*-* -There are 19 section headers, starting at offset 0x[0-9a-f]+: +There are 18 section headers, starting at offset 0x[0-9a-f]+: Section Headers: \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al @@ -17,24 +17,23 @@ Section Headers: \[ 5\] .rela.dyn +.* \[ 6\] .rela.plt +.* \[ 7\] .plt +.* - \[ 8\] .text +PROGBITS +0+80000458 0+458 0+28c 00 +AX +0 +0 +4 - \[ 9\] .data +.* - \[10\] .tdata +PROGBITS +0+800016e8 0+6e8 0+60 00 WAT +0 +0 +1 - \[11\] .tbss +NOBITS +0+80001748 0+748 0+40 00 WAT +0 +0 +1 - \[12\] .dynamic +DYNAMIC +0+80001748 0+748 0+140 10 +WA +4 +0 +8 - \[13\] .got +PROGBITS +0+80001888 0+888 0+78 08 +WA +0 +0 +8 - \[14\] .sbss +.* - \[15\] .bss +.* - \[16\] .shstrtab +.* - \[17\] .symtab +.* - \[18\] .strtab +.* + \[ 8\] .text +PROGBITS +.* + \[ 9\] .tdata +PROGBITS +0+80001720 0+720 0+60 00 WAT +0 +0 +32 + \[10\] .tbss +NOBITS +0+80001780 0+780 0+40 00 WAT +0 +0 +1 + \[11\] .dynamic +DYNAMIC +0+80001780 0+780 0+140 10 +WA +4 +0 +8 + \[12\] .got +PROGBITS +0+800018c0 0+8c0 0+78 08 +WA +0 +0 +8 + \[13\] .data +.* + \[14\] .bss +.* + \[15\] .shstrtab +.* + \[16\] .symtab +.* + \[17\] .strtab +.* Key to Flags: .* .* .* Elf file type is EXEC \(Executable file\) -Entry point 0x80000644 +Entry point 0x[0-9a-f]+ There are 6 program headers, starting at offset [0-9]+ Program Headers: @@ -42,10 +41,10 @@ Program Headers: PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+150 0x0+150 R E 0x8 INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+11 0x0+11 R +0x1 .*Requesting program interpreter.* - LOAD +0x0+ 0x0+80000000 0x0+80000000 0x0+6e4 0x0+6e4 R E 0x1000 - LOAD +0x0+6e8 0x0+800016e8 0x0+800016e8 0x0+218 0x0+218 RW 0x1000 - DYNAMIC +0x0+748 0x0+80001748 0x0+80001748 0x0+140 0x0+140 RW 0x8 - TLS +0x0+6e8 0x0+800016e8 0x0+800016e8 0x0+60 0x0+a0 R +0x1 + LOAD +0x0+ 0x0+80000000 0x0+80000000 0x0+720 0x0+720 R E 0x1000 + LOAD +0x0+720 0x0+80001720 0x0+80001720 0x0+218 0x0+218 RW 0x1000 + DYNAMIC +0x0+780 0x0+80001780 0x0+80001780 0x0+140 0x0+140 RW 0x8 + TLS +0x0+720 0x0+80001720 0x0+80001720 0x0+60 0x0+a0 R +0x20 Section to Segment mapping: Segment Sections... @@ -56,101 +55,100 @@ Program Headers: 04 +.tbss .dynamic * 05 +.tdata .tbss * -Relocation section '.rela.dyn' at offset 0x[0-9a-z]+ contains 4 entries: +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-z]+ +0+10+38 R_390_TLS_TPOFF +0+ sG3 \+ 0 -[0-9a-z]+ +0+30+38 R_390_TLS_TPOFF +0+ sG2 \+ 0 -[0-9a-z]+ +0+60+38 R_390_TLS_TPOFF +0+ sG6 \+ 0 -[0-9a-z]+ +0+70+38 R_390_TLS_TPOFF +0+ sG1 \+ 0 +[0-9a-f]+ +0+10+38 R_390_TLS_TPOFF +0+ sG3 \+ 0 +[0-9a-f]+ +0+30+38 R_390_TLS_TPOFF +0+ sG2 \+ 0 +[0-9a-f]+ +0+60+38 R_390_TLS_TPOFF +0+ sG6 \+ 0 +[0-9a-f]+ +0+70+38 R_390_TLS_TPOFF +0+ sG1 \+ 0 Relocation section '.rela.plt' at offset 0x40+ contains 1 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-z]+ +0+40+b R_390_JMP_SLOT +0+80+438 __tls_get_offset \+ 0 +[0-9a-f]+ +0+40+b R_390_JMP_SLOT +0+80+438 __tls_get_offset \+ 0 Symbol table '.dynsym' contains 11 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND - +1: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3 - +2: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC - +3: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2 - +4: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset - +5: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start - +6: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6 - +7: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1 - +8: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata - +9: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ - +10: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end + +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3 + +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end -Symbol table '.symtab' contains 71 entries: +Symbol table '.symtab' contains 70 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND - +1: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +1 - +2: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +2 - +3: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +3 - +4: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +4 - +5: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +5 - +6: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +6 - +7: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +7 - +8: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +8 - +9: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +9 - +10: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +10 - +11: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +11 - +12: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +12 - +13: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +13 - +14: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +14 - +15: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +15 - +16: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +16 - +17: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +17 - +18: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +18 - +19: 0+20 +0 TLS +LOCAL +DEFAULT +10 sl1 - +20: 0+24 +0 TLS +LOCAL +DEFAULT +10 sl2 - +21: 0+28 +0 TLS +LOCAL +DEFAULT +10 sl3 - +22: 0+2c +0 TLS +LOCAL +DEFAULT +10 sl4 - +23: 0+30 +0 TLS +LOCAL +DEFAULT +10 sl5 - +24: 0+34 +0 TLS +LOCAL +DEFAULT +10 sl6 - +25: 0+38 +0 TLS +LOCAL +DEFAULT +10 sl7 - +26: 0+3c +0 TLS +LOCAL +DEFAULT +10 sl8 - +27: 0+80 +0 TLS +LOCAL +DEFAULT +11 bl1 - +28: 0+84 +0 TLS +LOCAL +DEFAULT +11 bl2 - +29: 0+88 +0 TLS +LOCAL +DEFAULT +11 bl3 - +30: 0+8c +0 TLS +LOCAL +DEFAULT +11 bl4 - +31: 0+90 +0 TLS +LOCAL +DEFAULT +11 bl5 - +32: 0+94 +0 TLS +LOCAL +DEFAULT +11 bl6 - +33: 0+98 +0 TLS +LOCAL +DEFAULT +11 bl7 - +34: 0+9c +0 TLS +LOCAL +DEFAULT +11 bl8 - +35: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3 - +36: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8 - +37: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8 - +38: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6 - +39: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3 - +40: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC - +41: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3 - +42: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3 - +43: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2 - +44: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4 - +45: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5 - +46: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5 - +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7 - +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8 - +49: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset - +50: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1 - +51: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +8 _start - +52: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4 - +53: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7 - +54: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5 - +55: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start - +56: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6 - +57: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +8 fn2 - +58: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2 - +59: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1 - +60: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1 - +61: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6 - +62: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7 - +63: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata - +64: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ - +65: 0+80+190+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end - +66: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2 - +67: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6 - +68: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2 - +69: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1 - +70: 0+6c +0 TLS +GLOBAL DEFAULT +11 bg4 + +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 + +[0-9]+: 0+20 +0 TLS +LOCAL +DEFAULT +9 sl1 + +[0-9]+: 0+24 +0 TLS +LOCAL +DEFAULT +9 sl2 + +[0-9]+: 0+28 +0 TLS +LOCAL +DEFAULT +9 sl3 + +[0-9]+: 0+2c +0 TLS +LOCAL +DEFAULT +9 sl4 + +[0-9]+: 0+30 +0 TLS +LOCAL +DEFAULT +9 sl5 + +[0-9]+: 0+34 +0 TLS +LOCAL +DEFAULT +9 sl6 + +[0-9]+: 0+38 +0 TLS +LOCAL +DEFAULT +9 sl7 + +[0-9]+: 0+3c +0 TLS +LOCAL +DEFAULT +9 sl8 + +[0-9]+: 0+80 +0 TLS +LOCAL +DEFAULT +10 bl1 + +[0-9]+: 0+84 +0 TLS +LOCAL +DEFAULT +10 bl2 + +[0-9]+: 0+88 +0 TLS +LOCAL +DEFAULT +10 bl3 + +[0-9]+: 0+8c +0 TLS +LOCAL +DEFAULT +10 bl4 + +[0-9]+: 0+90 +0 TLS +LOCAL +DEFAULT +10 bl5 + +[0-9]+: 0+94 +0 TLS +LOCAL +DEFAULT +10 bl6 + +[0-9]+: 0+98 +0 TLS +LOCAL +DEFAULT +10 bl7 + +[0-9]+: 0+9c +0 TLS +LOCAL +DEFAULT +10 bl8 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 + +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +10 bg8 + +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +10 bg6 + +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3 + +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 + +[0-9]+: 0+48 +0 TLS +GLOBAL HIDDEN +9 sh3 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 + +[0-9]+: 0+70 +0 TLS +GLOBAL DEFAULT +10 bg5 + +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7 + +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start + +[0-9]+: 0+4c +0 TLS +GLOBAL HIDDEN +9 sh4 + +[0-9]+: 0+78 +0 TLS +GLOBAL DEFAULT +10 bg7 + +[0-9]+: 0+50 +0 TLS +GLOBAL HIDDEN +9 sh5 + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2 + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1 + +[0-9]+: 0+40 +0 TLS +GLOBAL HIDDEN +9 sh1 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end + +[0-9]+: 0+44 +0 TLS +GLOBAL HIDDEN +9 sh2 + +[0-9]+: 0+54 +0 TLS +GLOBAL HIDDEN +9 sh6 + +[0-9]+: 0+64 +0 TLS +GLOBAL DEFAULT +10 bg2 + +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +10 bg1 + +[0-9]+: 0+6c +0 TLS +GLOBAL DEFAULT +10 bg4 diff --git a/ld/testsuite/ld-s390/tlsbin_64.sd b/ld/testsuite/ld-s390/tlsbin_64.sd index 873c4f9..6618e45 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.sd +++ b/ld/testsuite/ld-s390/tlsbin_64.sd @@ -8,11 +8,11 @@ .*: file format elf64-s390 Contents of section .got: - 80001888 [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .* - 80001898 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .* - 800018a8 ffffffff ffffff88 00000000 00000000 .* - 800018b8 00000000 00000000 ffffffff ffffff68 .* - 800018c8 ffffffff ffffffa8 00000000 00000000 .* - 800018d8 00000000 00000000 00000000 00000000 .* - 800018e8 00000000 00000000 00000000 00000000 .* - 800018f8 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/tlsbin_64.td b/ld/testsuite/ld-s390/tlsbin_64.td index 0101b6f..dfa7e8d 100644 --- a/ld/testsuite/ld-s390/tlsbin_64.td +++ b/ld/testsuite/ld-s390/tlsbin_64.td @@ -8,9 +8,9 @@ .*: file format elf64-s390 Contents of section .tdata: - 800016e8 00000011 00000012 00000013 00000014 .* - 800016f8 00000015 00000016 00000017 00000018 .* - 80001708 00000041 00000042 00000043 00000044 .* - 80001718 00000045 00000046 00000047 00000048 .* - 80001728 00000101 00000102 00000103 00000104 .* - 80001738 00000105 00000106 00000107 00000108 .* + [0-9a-f]+ 00000011 00000012 00000013 00000014 .* + [0-9a-f]+ 00000015 00000016 00000017 00000018 .* + [0-9a-f]+ 00000041 00000042 00000043 00000044 .* + [0-9a-f]+ 00000045 00000046 00000047 00000048 .* + [0-9a-f]+ 00000101 00000102 00000103 00000104 .* + [0-9a-f]+ 00000105 00000106 00000107 00000108 .* diff --git a/ld/testsuite/ld-s390/tlsbinpic.s b/ld/testsuite/ld-s390/tlsbinpic.s index 9779c05..e52e3a4 100644 --- a/ld/testsuite/ld-s390/tlsbinpic.s +++ b/ld/testsuite/ld-s390/tlsbinpic.s @@ -1,4 +1,5 @@ .section ".tdata", "awT", @progbits + .balign 32 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 @@ -30,6 +31,7 @@ sh8: .long 264 .text .globl fn2 .type fn2,@function + .balign 64 fn2: /* Function prolog */ stm %r6,%r14,24(%r15) diff --git a/ld/testsuite/ld-s390/tlsbinpic_64.s b/ld/testsuite/ld-s390/tlsbinpic_64.s index eaeff73..eeda6ca 100644 --- a/ld/testsuite/ld-s390/tlsbinpic_64.s +++ b/ld/testsuite/ld-s390/tlsbinpic_64.s @@ -1,4 +1,5 @@ .section ".tdata", "awT", @progbits + .balign 32 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 @@ -30,6 +31,7 @@ sh8: .long 264 .text .globl fn2 .type fn2,@function + .balign 64 fn2: /* Function prolog */ stmg %r6,%r14,48(%r15) diff --git a/ld/testsuite/ld-s390/tlspic.dd b/ld/testsuite/ld-s390/tlspic.dd index 71add02..6e9da5d 100644 --- a/ld/testsuite/ld-s390/tlspic.dd +++ b/ld/testsuite/ld-s390/tlspic.dd @@ -9,153 +9,181 @@ Disassembly of section .text: -0+4bc <fn1>: +0+[0-9a-f]+ <fn1>: # function prolog - +4bc: 90 6e f0 18 stm %r6,%r14,24\(%r15\) - +4c0: a7 d5 00 30 bras %r13,520 <fn1\+0x64> + +[0-9a-f]+: 90 6e f0 18 stm %r6,%r14,24\(%r15\) + +[0-9a-f]+: a7 d5 00 30 bras %r13,[0-9a-f]+ <fn1\+0x64> # _GLOBAL_OFFSET_TABLE_-.LT1 - +4c4: 00 00 12 78 .long 0x00001278 + +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # __tls_get_addr@plt-.LT1 - +4c8: ff ff ff d8 .long 0xffffffd8 + +[0-9a-f]+: [0-9a-f ]+ .long 0x[0-9a-f]+ # sg1@tlsgd - +4cc: 00 00 00 38 .long 0x00000038 + +[0-9a-f]+: 00 00 00 38 .long 0x00000038 # sg2@tlsgd - +4d0: 00 00 00 48 .long 0x00000048 + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sl1@tlsgd - +4d4: 00 00 00 10 .long 0x00000010 + +[0-9a-f]+: 00 00 00 10 .long 0x00000010 # sl2@tlsgd - +4d8: 00 00 00 18 .long 0x00000018 + +[0-9a-f]+: 00 00 00 18 .long 0x00000018 # sh1@tlsgd - +4dc: 00 00 00 4c .long 0x0000004c + +[0-9a-f]+: 00 00 00 4c .long 0x0000004c # sh2@tlsgd - +4e0: 00 00 00 54 .long 0x00000054 + +[0-9a-f]+: 00 00 00 54 .long 0x00000054 # sH1@tlsgd - +4e4: 00 00 00 28 .long 0x00000028 + +[0-9a-f]+: 00 00 00 28 .long 0x00000028 # sH2@tlsgd - +4e8: 00 00 00 30 .long 0x00000030 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sl1@tlsldm - +4ec: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl1@dtpoff - +4f0: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@dtpoff - +4f4: 00 00 00 24 .long 0x00000024 + +[0-9a-f]+: 00 00 00 24 .long 0x00000024 # sh1@tlsldm - +4f8: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sh1@dtpoff - +4fc: 00 00 00 40 .long 0x00000040 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sh2@dtpoff - +500: 00 00 00 44 .long 0x00000044 + +[0-9a-f]+: 00 00 00 44 .long 0x00000044 # sH1@tlsldm - +504: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sH1@dtpoff - +508: 00 00 00 60 .long 0x00000060 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sH2@dtpoff - +50c: 00 00 00 64 .long 0x00000064 + +[0-9a-f]+: 00 00 00 64 .long 0x00000064 # sg2@gotntpoff - +510: 00 00 00 48 .long 0x00000048 + +[0-9a-f]+: 00 00 00 48 .long 0x00000048 # sl2@gotntpoff - +514: 00 00 00 18 .long 0x00000018 + +[0-9a-f]+: 00 00 00 18 .long 0x00000018 # sh2@gotntpoff - +518: 00 00 00 54 .long 0x00000054 + +[0-9a-f]+: 00 00 00 54 .long 0x00000054 # sH2@gotntpoff - +51c: 00 00 00 30 .long 0x00000030 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # function prolog - +520: 18 ef lr %r14,%r15 - +522: 58 c0 d0 00 l %r12,0\(%r13\) - +526: a7 fa ff a0 ahi %r15,-96 - +52a: 41 cc d0 00 la %r12,0\(%r12,%r13\) - +52e: 50 e0 e0 00 st %r14,0\(%r14\) + +[0-9a-f]+: 18 ef lr %r14,%r15 + +[0-9a-f]+: 58 c0 d0 00 l %r12,0\(%r13\) + +[0-9a-f]+: a7 fa ff a0 ahi %r15,-96 + +[0-9a-f]+: 41 cc d0 00 la %r12,0\(%r12,%r13\) + +[0-9a-f]+: 50 e0 e0 00 st %r14,0\(%r14\) # Extract TCB and load branch offset - +532: b2 4f 00 90 ear %r9,%a0 - +536: 58 70 d0 04 l %r7,4\(%r13\) + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: 58 70 d0 04 l %r7,4\(%r13\) # GD - +53a: 58 20 d0 08 l %r2,8\(%r13\) - +53e: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +542: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 08 l %r2,8\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE because variable is referenced through IE too - +546: 58 20 d0 0c l %r2,12\(%r13\) - +54a: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +54e: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 0c l %r2,12\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against local variable - +552: 58 20 d0 10 l %r2,16\(%r13\) - +556: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +55a: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 10 l %r2,16\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against local variable referenced through IE too - +55e: 58 20 d0 14 l %r2,20\(%r13\) - +562: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +566: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 14 l %r2,20\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against hidden and local variable - +56a: 58 20 d0 18 l %r2,24\(%r13\) - +56e: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +572: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 18 l %r2,24\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against hidden and local variable referenced through # IE too - +576: 58 20 d0 1c l %r2,28\(%r13\) - +57a: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +57e: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 1c l %r2,28\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against hidden but not local variable - +582: 58 20 d0 20 l %r2,32\(%r13\) - +586: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +58a: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 20 l %r2,32\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against hidden but not local variable referenced through # IE too - +58e: 58 20 d0 24 l %r2,36\(%r13\) - +592: 58 22 c0 00 l %r2,0\(%r2,%r12\) - +596: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: 58 20 d0 24 l %r2,36\(%r13\) + +[0-9a-f]+: 58 22 c0 00 l %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # LD - +59a: 58 20 d0 28 l %r2,40\(%r13\) - +59e: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +5a2: 41 32 90 00 la %r3,0\(%r2,%r9\) - +5a6: 58 40 d0 2c l %r4,44\(%r13\) - +5aa: 41 54 30 00 la %r5,0\(%r4,%r3\) - +5ae: 58 40 d0 30 l %r4,48\(%r13\) - +5b2: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 20 d0 28 l %r2,40\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: 58 40 d0 2c l %r4,44\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 40 d0 30 l %r4,48\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # LD against hidden and local variables - +5b6: 58 20 d0 34 l %r2,52\(%r13\) - +5ba: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +5be: 41 32 90 00 la %r3,0\(%r2,%r9\) - +5c2: 58 40 d0 38 l %r4,56\(%r13\) - +5c6: 41 54 30 00 la %r5,0\(%r4,%r3\) - +5ca: 58 40 d0 34 l %r4,52\(%r13\) - +5ce: 41 55 30 00 la %r5,0\(%r5,%r3\) + +[0-9a-f]+: 58 20 d0 34 l %r2,52\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: 58 40 d0 38 l %r4,56\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 40 d0 34 l %r4,52\(%r13\) + +[0-9a-f]+: 41 55 30 00 la %r5,0\(%r5,%r3\) # LD against hidden but not local variables - +5d2: 58 20 d0 40 l %r2,64\(%r13\) - +5d6: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) - +5da: 41 32 90 00 la %r3,0\(%r2,%r9\) - +5de: 58 30 d0 44 l %r3,68\(%r13\) - +5e2: 41 54 30 00 la %r5,0\(%r4,%r3\) - +5e6: 58 40 d0 48 l %r4,72\(%r13\) - +5ea: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 20 d0 40 l %r2,64\(%r13\) + +[0-9a-f]+: 4d e7 d0 00 bas %r14,0\(%r7,%r13\) + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: 58 30 d0 44 l %r3,68\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 40 d0 48 l %r4,72\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # IE against global var - +5ee: 58 30 d0 4c l %r3,76\(%r13\) - +5f2: 58 33 c0 00 l %r3,0\(%r3,%r12\) - +5f6: 41 33 30 00 la %r3,0\(%r3,%r3\) + +[0-9a-f]+: 58 30 d0 4c l %r3,76\(%r13\) + +[0-9a-f]+: 58 33 c0 00 l %r3,0\(%r3,%r12\) + +[0-9a-f]+: 41 33 30 00 la %r3,0\(%r3,%r3\) # IE against local var - +5fa: 58 30 d0 50 l %r3,80\(%r13\) - +5fe: 58 43 c0 00 l %r4,0\(%r3,%r12\) - +602: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 30 d0 50 l %r3,80\(%r13\) + +[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 hidden and local var - +606: 58 30 d0 54 l %r3,84\(%r13\) - +60a: 58 43 c0 00 l %r4,0\(%r3,%r12\) - +60e: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 30 d0 54 l %r3,84\(%r13\) + +[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 hidden but not local var - +612: 58 30 d0 58 l %r3,88\(%r13\) - +616: 58 43 c0 00 l %r4,0\(%r3,%r12\) - +61a: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: 58 30 d0 58 l %r3,88\(%r13\) + +[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) - +61e: 58 30 c0 34 l %r3,52\(%r12\) - +622: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +626: 58 30 c0 1c l %r3,28\(%r12\) - +62a: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +62e: 58 30 c0 40 l %r3,64\(%r12\) - +632: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +636: 58 30 c0 44 l %r3,68\(%r12\) - +63a: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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 - +63e: 98 6e f0 78 lm %r6,%r14,120\(%r15\) - +642: 07 fe br %r14 + +[0-9a-f]+: 98 6e f0 78 lm %r6,%r14,120\(%r15\) + +[0-9a-f]+: 07 fe br %r14 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd index 6c7468b..4764023 100644 --- a/ld/testsuite/ld-s390/tlspic.rd +++ b/ld/testsuite/ld-s390/tlspic.rd @@ -5,7 +5,7 @@ #readelf: -Ssrl #target: s390-*-* -There are 18 section headers, starting at offset 0x[0-9a-f]+: +There are 17 section headers, starting at offset 0x[0-9a-f]+: Section Headers: \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al @@ -16,32 +16,31 @@ Section Headers: \[ 4\] .rela.dyn +.* \[ 5\] .rela.plt +.* \[ 6\] .plt +.* - \[ 7\] .text +PROGBITS +0+4bc 0+4bc 0+188 00 AX 0 +0 4 - \[ 8\] .data +.* - \[ 9\] .tdata +PROGBITS +0+1644 0+644 0+60 00 WAT 0 +0 1 - \[10\] .tbss +NOBITS +0+16a4 0+6a4 0+20 00 WAT 0 +0 1 - \[11\] .dynamic +DYNAMIC +0+16a4 0+6a4 0+98 08 WA 3 +0 4 - \[12\] .got +PROGBITS +0+173c 0+73c 0+58 04 WA 0 +0 4 - \[13\] .sbss +.* - \[14\] .bss +.* - \[15\] .shstrtab +.* - \[16\] .symtab +.* - \[17\] .strtab +.* + \[ 7\] .text +PROGBITS +.* + \[ 8\] .tdata +PROGBITS +0+1600 0+600 0+60 00 WAT 0 +0 32 + \[ 9\] .tbss +NOBITS +0+1660 0+660 0+20 00 WAT 0 +0 1 + \[10\] .dynamic +DYNAMIC +0+1660 0+660 0+98 08 WA 3 +0 4 + \[11\] .got +PROGBITS +0+16f8 0+6f8 0+58 04 WA 0 +0 4 + \[12\] .data +.* + \[13\] .bss +.* + \[14\] .shstrtab +.* + \[15\] .symtab +.* + \[16\] .strtab +.* Key to Flags: .* .* .* Elf file type is DYN \(Shared object file\) -Entry point 0x4bc +Entry point 0x[0-9a-f]+ There are 4 program headers, starting at offset [0-9]+ Program Headers: Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz Flg Align LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000 - LOAD +0x0+644 0x0+1644 0x0+1644 0x00150 0x00150 RW 0x1000 - DYNAMIC +0x0+6a4 0x0+16a4 0x0+16a4 0x0+98 0x0+98 RW 0x4 - TLS +0x0+644 0x0+1644 0x0+1644 0x0+60 0x0+80 R +0x1 + LOAD +0x0+600 0x0+1600 0x0+1600 0x00150 0x00150 RW 0x1000 + DYNAMIC +0x0+660 0x0+1660 0x0+1660 0x0+98 0x0+98 RW 0x4 + TLS +0x0+600 0x0+1600 0x0+1600 0x0+60 0x0+80 R +0x20 Section to Segment mapping: Segment Sections... @@ -50,7 +49,7 @@ Program Headers: +02 +.tbss .dynamic +03 +.tdata .tbss -Relocation section '.rela.dyn' at offset 0x3c8 contains 14 entries: +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: Offset +Info +Type +Sym.Value Sym. Name \+ Addend [0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ [0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+24 @@ -62,104 +61,94 @@ Relocation section '.rela.dyn' at offset 0x3c8 contains 14 entries: [0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+70 [0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ [0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+44 -[0-9a-f]+ 0+1338 R_390_TLS_TPOFF +0+10 +sg5 \+ 0 -[0-9a-f]+ 0+1536 R_390_TLS_DTPMOD 0+ +sg1 \+ 0 -[0-9a-f]+ 0+1537 R_390_TLS_DTPOFF 0+ +sg1 \+ 0 -[0-9a-f]+ 0+1838 R_390_TLS_TPOFF +0+4 +sg2 \+ 0 +[0-9a-f]+ 0+a38 R_390_TLS_TPOFF +0+10 +sg5 \+ 0 +[0-9a-f]+ 0+c36 R_390_TLS_DTPMOD 0+ +sg1 \+ 0 +[0-9a-f]+ 0+c37 R_390_TLS_DTPOFF 0+ +sg1 \+ 0 +[0-9a-f]+ 0+f38 R_390_TLS_TPOFF +0+4 +sg2 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: Offset +Info +Type +Sym.Value Sym. Name \+ Addend -[0-9a-f]+ 0+140b R_390_JMP_SLOT +0+ +__tls_get_offset \+ 0 +[0-9a-f]+ 0+b0b R_390_JMP_SLOT +0+ +__tls_get_offset \+ 0 -Symbol table '.dynsym' contains 30 entries: +Symbol table '.dynsym' contains 21 entries: +Num: +Value Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 - +2: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 - +3: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 - +4: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 - +5: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 - +6: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 - +7: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 - +8: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 - +9: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 - +10: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 - +11: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 - +12: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 - +13: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 - +14: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 - +15: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 - +16: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +17: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 - +18: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 - +19: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 - +20: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset - +21: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 - +22: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 - +23: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +24: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 - +25: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 - +26: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 - +27: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +28: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +29: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5 + +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end -Symbol table '.symtab' contains 57 entries: +Symbol table '.symtab' contains 56 entries: +Num: +Value Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 - +2: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 - +3: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 - +4: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 - +5: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 - +6: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 - +7: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 - +8: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 - +9: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 - +10: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 - +11: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 - +12: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 - +13: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 - +14: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 - +15: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +15 - +16: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +16 - +17: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +17 - +18: 0+20 +0 TLS +LOCAL DEFAULT +9 sl1 - +19: 0+24 +0 TLS +LOCAL DEFAULT +9 sl2 - +20: 0+28 +0 TLS +LOCAL DEFAULT +9 sl3 - +21: 0+2c +0 TLS +LOCAL DEFAULT +9 sl4 - +22: 0+30 +0 TLS +LOCAL DEFAULT +9 sl5 - +23: 0+34 +0 TLS +LOCAL DEFAULT +9 sl6 - +24: 0+38 +0 TLS +LOCAL DEFAULT +9 sl7 - +25: 0+3c +0 TLS +LOCAL DEFAULT +9 sl8 - +26: 0+60 +0 TLS +LOCAL HIDDEN +10 sH1 - +27: 0+48 +0 TLS +LOCAL HIDDEN +9 sh3 - +28: 0+64 +0 TLS +LOCAL HIDDEN +10 sH2 - +29: 0+78 +0 TLS +LOCAL HIDDEN +10 sH7 - +30: 0+58 +0 TLS +LOCAL HIDDEN +9 sh7 - +31: 0+5c +0 TLS +LOCAL HIDDEN +9 sh8 - +32: 0+6c +0 TLS +LOCAL HIDDEN +10 sH4 - +33: 0+4c +0 TLS +LOCAL HIDDEN +9 sh4 - +34: 0+68 +0 TLS +LOCAL HIDDEN +10 sH3 - +35: 0+50 +0 TLS +LOCAL HIDDEN +9 sh5 - +36: 0+70 +0 TLS +LOCAL HIDDEN +10 sH5 - +37: 0+74 +0 TLS +LOCAL HIDDEN +10 sH6 - +38: 0+7c +0 TLS +LOCAL HIDDEN +10 sH8 - +39: 0+40 +0 TLS +LOCAL HIDDEN +9 sh1 - +40: 0+44 +0 TLS +LOCAL HIDDEN +9 sh2 - +41: 0+54 +0 TLS +LOCAL HIDDEN +9 sh6 - +42: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 - +43: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +44: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 - +45: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 - +46: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 - +47: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset - +48: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 - +49: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 - +50: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +51: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 - +52: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 - +53: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 - +54: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +55: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +56: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +15 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +16 + +[0-9]+: 0+20 +0 TLS +LOCAL DEFAULT +8 sl1 + +[0-9]+: 0+24 +0 TLS +LOCAL DEFAULT +8 sl2 + +[0-9]+: 0+28 +0 TLS +LOCAL DEFAULT +8 sl3 + +[0-9]+: 0+2c +0 TLS +LOCAL DEFAULT +8 sl4 + +[0-9]+: 0+30 +0 TLS +LOCAL DEFAULT +8 sl5 + +[0-9]+: 0+34 +0 TLS +LOCAL DEFAULT +8 sl6 + +[0-9]+: 0+38 +0 TLS +LOCAL DEFAULT +8 sl7 + +[0-9]+: 0+3c +0 TLS +LOCAL DEFAULT +8 sl8 + +[0-9]+: 0+60 +0 TLS +LOCAL HIDDEN +9 sH1 + +[0-9]+: 0+48 +0 TLS +LOCAL HIDDEN +8 sh3 + +[0-9]+: 0+64 +0 TLS +LOCAL HIDDEN +9 sH2 + +[0-9]+: 0+78 +0 TLS +LOCAL HIDDEN +9 sH7 + +[0-9]+: 0+58 +0 TLS +LOCAL HIDDEN +8 sh7 + +[0-9]+: 0+5c +0 TLS +LOCAL HIDDEN +8 sh8 + +[0-9]+: 0+6c +0 TLS +LOCAL HIDDEN +9 sH4 + +[0-9]+: 0+4c +0 TLS +LOCAL HIDDEN +8 sh4 + +[0-9]+: 0+68 +0 TLS +LOCAL HIDDEN +9 sH3 + +[0-9]+: 0+50 +0 TLS +LOCAL HIDDEN +8 sh5 + +[0-9]+: 0+70 +0 TLS +LOCAL HIDDEN +9 sH5 + +[0-9]+: 0+74 +0 TLS +LOCAL HIDDEN +9 sH6 + +[0-9]+: 0+7c +0 TLS +LOCAL HIDDEN +9 sH8 + +[0-9]+: 0+40 +0 TLS +LOCAL HIDDEN +8 sh1 + +[0-9]+: 0+44 +0 TLS +LOCAL HIDDEN +8 sh2 + +[0-9]+: 0+54 +0 TLS +LOCAL HIDDEN +8 sh6 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5 + +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end diff --git a/ld/testsuite/ld-s390/tlspic.sd b/ld/testsuite/ld-s390/tlspic.sd index 04763dc..6e32dea 100644 --- a/ld/testsuite/ld-s390/tlspic.sd +++ b/ld/testsuite/ld-s390/tlspic.sd @@ -8,9 +8,9 @@ .*: +file format elf32-s390 Contents of section .got: - 173c [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* - 174c 00000000 00000020 00000000 00000000 .* - 175c 00000000 00000000 00000000 00000060 .* - 176c 00000000 00000000 00000000 00000000 .* - 177c 00000000 00000000 00000000 00000000 .* - 178c 00000040 00000000 +.* + [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 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000040 00000000 +.* diff --git a/ld/testsuite/ld-s390/tlspic.td b/ld/testsuite/ld-s390/tlspic.td index 161de76..265dbe2 100644 --- a/ld/testsuite/ld-s390/tlspic.td +++ b/ld/testsuite/ld-s390/tlspic.td @@ -8,9 +8,9 @@ .*: +file format elf32-s390 Contents of section .tdata: - 1644 00000011 00000012 00000013 00000014 .* - 1654 00000015 00000016 00000017 00000018 .* - 1664 00000041 00000042 00000043 00000044 .* - 1674 00000045 00000046 00000047 00000048 .* - 1684 00000101 00000102 00000103 00000104 .* - 1694 00000105 00000106 00000107 00000108 .* + [0-9a-f]+ 00000011 00000012 00000013 00000014 .* + [0-9a-f]+ 00000015 00000016 00000017 00000018 .* + [0-9a-f]+ 00000041 00000042 00000043 00000044 .* + [0-9a-f]+ 00000045 00000046 00000047 00000048 .* + [0-9a-f]+ 00000101 00000102 00000103 00000104 .* + [0-9a-f]+ 00000105 00000106 00000107 00000108 .* diff --git a/ld/testsuite/ld-s390/tlspic1.s b/ld/testsuite/ld-s390/tlspic1.s index e24d129..28b9c3a 100644 --- a/ld/testsuite/ld-s390/tlspic1.s +++ b/ld/testsuite/ld-s390/tlspic1.s @@ -1,4 +1,5 @@ .section ".tdata", "awT", @progbits + .balign 32 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 @@ -29,6 +30,7 @@ sh8: .long 264 .text .globl fn1 .type fn1,@function + .balign 64 fn1: /* Funtion prolog */ stm %r6,%r14,24(%r15) diff --git a/ld/testsuite/ld-s390/tlspic1_64.s b/ld/testsuite/ld-s390/tlspic1_64.s index 350b51d..4e50008 100644 --- a/ld/testsuite/ld-s390/tlspic1_64.s +++ b/ld/testsuite/ld-s390/tlspic1_64.s @@ -1,4 +1,5 @@ .section ".tdata", "awT", @progbits + .balign 32 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 @@ -29,6 +30,7 @@ sh8: .long 264 .text .globl fn1 .type fn1,@function + .balign 64 fn1: /* Funtion prolog */ stmg %r6,%r14,48(%r15) diff --git a/ld/testsuite/ld-s390/tlspic_64.dd b/ld/testsuite/ld-s390/tlspic_64.dd index 423cdf9..fea1671 100644 --- a/ld/testsuite/ld-s390/tlspic_64.dd +++ b/ld/testsuite/ld-s390/tlspic_64.dd @@ -9,186 +9,194 @@ Disassembly of section .text: -0+790 <fn1>: +0+[0-9a-f]+ <fn1>: # function prolog - +790: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\) - +796: a7 d5 00 56 bras %r13,842 <fn1\+0xb2> + +[0-9a-f]+: eb 6e f0 30 00 24 stmg %r6,%r14,48\(%r15\) + +[0-9a-f]+: a7 d5 00 56 bras %r13,[0-9a-f]+ <fn1\+0xb2> # sg1@tlsgd - +79a: 00 00 00 00 .long 0x00000000 - +79e: 00 00 00 70 .long 0x00000070 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 70 .long 0x00000070 # sg2@tlsgd - +7a2: 00 00 00 00 .long 0x00000000 - +7a6: 00 00 00 90 .long 0x00000090 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 90 .long 0x00000090 # sl1@tlsgd - +7aa: 00 00 00 00 .long 0x00000000 - +7ae: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@tlsgd - +7b2: 00 00 00 00 .long 0x00000000 - +7b6: 00 00 00 30 .long 0x00000030 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sh1@tlsgd - +7ba: 00 00 00 00 .long 0x00000000 - +7be: 00 00 00 98 .long 0x00000098 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 98 .long 0x00000098 # sh2@tlsgd - +7c2: 00 00 00 00 .long 0x00000000 - +7c6: 00 00 00 a8 .long 0x000000a8 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8 # sH1@tlsgd - +7ca: 00 00 00 00 .long 0x00000000 - +7ce: 00 00 00 50 .long 0x00000050 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 50 .long 0x00000050 # sH2@tlsgd - +7d2: 00 00 00 00 .long 0x00000000 - +7d6: 00 00 00 60 .long 0x00000060 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sl1@tlsldm - +7da: 00 00 00 00 .long 0x00000000 - +7de: 00 00 00 40 .long 0x00000040 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sl1@dtpoff - +7e2: 00 00 00 00 .long 0x00000000 - +7e6: 00 00 00 20 .long 0x00000020 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 20 .long 0x00000020 # sl2@dtpoff - +7ea: 00 00 00 00 .long 0x00000000 - +7ee: 00 00 00 24 .long 0x00000024 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 24 .long 0x00000024 # sh1@tlsldm - +7f2: 00 00 00 00 .long 0x00000000 - +7f6: 00 00 00 40 .long 0x00000040 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sh1@dtpoff - +7fa: 00 00 00 00 .long 0x00000000 - +7fe: 00 00 00 40 .long 0x00000040 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sh2@dtpoff - +802: 00 00 00 00 .long 0x00000000 - +806: 00 00 00 44 .long 0x00000044 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 44 .long 0x00000044 # sH1@tlsldm - +80a: 00 00 00 00 .long 0x00000000 - +80e: 00 00 00 40 .long 0x00000040 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 40 .long 0x00000040 # sH1@dtpoff - +812: 00 00 00 00 .long 0x00000000 - +816: 00 00 00 60 .long 0x00000060 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # sH2@dtpoff - +81a: 00 00 00 00 .long 0x00000000 - +81e: 00 00 00 64 .long 0x00000064 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 64 .long 0x00000064 # sg2@gotntpoff - +822: 00 00 00 00 .long 0x00000000 - +826: 00 00 00 90 .long 0x00000090 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 90 .long 0x00000090 # sl2@gotntpoff - +82a: 00 00 00 00 .long 0x00000000 - +82e: 00 00 00 30 .long 0x00000030 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 30 .long 0x00000030 # sh2@gotntpoff - +832: 00 00 00 00 .long 0x00000000 - +836: 00 00 00 a8 .long 0x000000a8 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 a8 .long 0x000000a8 # sH2@gotntpoff - +83a: 00 00 00 00 .long 0x00000000 - +83e: 00 00 00 60 .long 0x00000060 + +[0-9a-f]+: 00 00 00 00 .long 0x00000000 + +[0-9a-f]+: 00 00 00 60 .long 0x00000060 # function prolog - +842: b9 04 00 ef lgr %r14,%r15 - +846: c0 c0 00 00 09 a5 larl %r12,1b90 <_GLOBAL_OFFSET_TABLE_> - +84c: a7 fb ff 60 aghi %r15,-160 - +850: e3 e0 e0 00 00 24 stg %r14,0\(%r14\) + +[0-9a-f]+: b9 04 00 ef lgr %r14,%r15 + +[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 - +856: b2 4f 00 90 ear %r9,%a0 - +85a: eb 94 00 20 00 0d sllg %r9,%r4,32 - +860: b2 4f 00 91 ear %r9,%a1 + +[0-9a-f]+: b2 4f 00 90 ear %r9,%a0 + +[0-9a-f]+: eb 94 00 20 00 0d sllg %r9,%r4,32 + +[0-9a-f]+: b2 4f 00 91 ear %r9,%a1 # GD - +864: e3 20 d0 00 00 04 lg %r2,0\(%r13\) - +86a: c0 e5 ff ff ff 83 brasl %r14,770 <sH8\+0x6f4> - +870: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 00 00 04 lg %r2,0\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE because variable is referenced through IE too - +874: e3 20 d0 08 00 04 lg %r2,8\(%r13\) - +87a: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +880: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 08 00 04 lg %r2,8\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against local variable - +884: e3 20 d0 10 00 04 lg %r2,16\(%r13\) - +88a: c0 e5 ff ff ff 73 brasl %r14,770 <sH8\+0x6f4> - +890: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 10 00 04 lg %r2,16\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against local variable referenced through IE too - +894: e3 20 d0 18 00 04 lg %r2,24\(%r13\) - +89a: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +8a0: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 18 00 04 lg %r2,24\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against hidden and local variable - +8a4: e3 20 d0 20 00 04 lg %r2,32\(%r13\) - +8aa: c0 e5 ff ff ff 63 brasl %r14,770 <sH8\+0x6f4> - +8b0: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 20 00 04 lg %r2,32\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against hidden and local variable referenced through # IE too - +8b4: e3 20 d0 28 00 04 lg %r2,40\(%r13\) - +8ba: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +8c0: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 28 00 04 lg %r2,40\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD against hidden but not local variable - +8c4: e3 20 d0 30 00 04 lg %r2,48\(%r13\) - +8ca: c0 e5 ff ff ff 53 brasl %r14,770 <sH8\+0x6f4> - +8d0: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 30 00 04 lg %r2,48\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # GD -> IE against hidden but not local variable referenced through # IE too - +8d4: e3 20 d0 38 00 04 lg %r2,56\(%r13\) - +8da: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) - +8e0: 41 22 90 00 la %r2,0\(%r2,%r9\) + +[0-9a-f]+: e3 20 d0 38 00 04 lg %r2,56\(%r13\) + +[0-9a-f]+: e3 22 c0 00 00 04 lg %r2,0\(%r2,%r12\) + +[0-9a-f]+: 41 22 90 00 la %r2,0\(%r2,%r9\) # LD - +8e4: e3 20 d0 40 00 04 lg %r2,64\(%r13\) - +8ea: c0 e5 ff ff ff 43 brasl %r14,770 <sH8\+0x6f4> - +8f0: 41 32 90 00 la %r3,0\(%r2,%r9\) - +8f4: e3 40 d0 48 00 04 lg %r4,72\(%r13\) - +8fa: 41 54 30 00 la %r5,0\(%r4,%r3\) - +8fe: e3 40 d0 50 00 04 lg %r4,80\(%r13\) - +904: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 20 d0 40 00 04 lg %r2,64\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: e3 40 d0 48 00 04 lg %r4,72\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 40 d0 50 00 04 lg %r4,80\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # LD against hidden and local variables - +908: e3 20 d0 58 00 04 lg %r2,88\(%r13\) - +90e: c0 e5 ff ff ff 31 brasl %r14,770 <sH8\+0x6f4> - +914: 41 32 90 00 la %r3,0\(%r2,%r9\) - +918: e3 40 d0 60 00 04 lg %r4,96\(%r13\) - +91e: 41 54 30 00 la %r5,0\(%r4,%r3\) - +922: e3 40 d0 68 00 04 lg %r4,104\(%r13\) - +928: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 20 d0 58 00 04 lg %r2,88\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: e3 40 d0 60 00 04 lg %r4,96\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 40 d0 68 00 04 lg %r4,104\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # LD against hidden but not local variables - +92c: e3 20 d0 70 00 04 lg %r2,112\(%r13\) - +932: c0 e5 ff ff ff 1f brasl %r14,770 <sH8\+0x6f4> - +938: 41 32 90 00 la %r3,0\(%r2,%r9\) - +93c: e3 40 d0 78 00 04 lg %r4,120\(%r13\) - +942: 41 54 30 00 la %r5,0\(%r4,%r3\) - +946: e3 40 d0 80 00 04 lg %r4,128\(%r13\) - +94c: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 20 d0 70 00 04 lg %r2,112\(%r13\) + +[0-9a-f]+: c0 e5 [0-9a-f ]+ brasl %r14,[0-9a-f]+ <.*> + +[0-9a-f]+: 41 32 90 00 la %r3,0\(%r2,%r9\) + +[0-9a-f]+: e3 40 d0 78 00 04 lg %r4,120\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) + +[0-9a-f]+: e3 40 d0 80 00 04 lg %r4,128\(%r13\) + +[0-9a-f]+: 41 54 30 00 la %r5,0\(%r4,%r3\) # IE against global var - +950: e3 30 d0 88 00 04 lg %r3,136\(%r13\) - +956: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) - +95c: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: e3 30 d0 88 00 04 lg %r3,136\(%r13\) + +[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 - +960: e3 30 d0 90 00 04 lg %r3,144\(%r13\) - +966: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +96c: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 90 00 04 lg %r3,144\(%r13\) + +[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 - +970: e3 30 d0 98 00 04 lg %r3,152\(%r13\) - +976: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +97c: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 98 00 04 lg %r3,152\(%r13\) + +[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 - +980: e3 30 d0 a0 00 04 lg %r3,160\(%r13\) - +986: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +98c: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[0-9a-f]+: e3 30 d0 a0 00 04 lg %r3,160\(%r13\) + +[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 larl got access - +990: c0 30 00 00 09 34 larl %r3,1bf8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x68> - +996: e3 33 c0 00 00 04 lg %r3,0\(%r3,%r12\) - +99c: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[0-9a-f]+: c0 30 [0-9a-f ]+ larl %r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x68> + +[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 - +9a0: c0 30 00 00 09 14 larl %r3,1bc8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38> - +9a6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +9ac: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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 - +9b0: c0 30 00 00 09 30 larl %r3,1c10 <\_GLOBAL\_OFFSET\_TABLE\_\+0x80> - +9b6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +9bc: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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 - +9c0: c0 30 00 00 09 2c larl %r3,1c18 <\_GLOBAL\_OFFSET\_TABLE\_\+0x88> - +9c6: e3 43 c0 00 00 04 lg %r4,0\(%r3,%r12\) - +9cc: 41 54 90 00 la %r5,0\(%r4,%r9\) + +[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) - +9d0: e3 30 c0 68 00 04 lg %r3,104\(%r12\) - +9d6: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +9da: e3 30 c0 38 00 04 lg %r3,56\(%r12\) - +9e0: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +9e4: e3 30 c0 80 00 04 lg %r3,128\(%r12\) - +9ea: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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) - +9ee: e3 30 c0 88 00 04 lg %r3,136\(%r12\) - +9f4: 41 33 90 00 la %r3,0\(%r3,%r9\) + +[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 - +9f8: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) - +9fe: 07 fe br %r14 + +[0-9a-f]+: eb 6e f0 d0 00 04 lmg %r6,%r14,208\(%r15\) + +[0-9a-f]+: 07 fe br %r14 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 + +[0-9a-f]+: 07 07 bcr 0,%r7 diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd index e37a62a..144903d 100644 --- a/ld/testsuite/ld-s390/tlspic_64.rd +++ b/ld/testsuite/ld-s390/tlspic_64.rd @@ -5,7 +5,7 @@ #readelf: -WSsrl #target: s390x-*-* -There are 18 section headers, starting at offset 0x[0-9a-f]+: +There are 17 section headers, starting at offset 0x[0-9a-f]+: Section Headers: \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al @@ -16,32 +16,31 @@ Section Headers: \[ 4\] .rela.dyn +.* \[ 5\] .rela.plt +.* \[ 6\] .plt +.* - \[ 7\] .text +PROGBITS +0+790 0+790 0+270 00 +AX +0 +0 +4 - \[ 8\] .data +.* - \[ 9\] .tdata +PROGBITS +0+1a00 0+a00 0+60 00 WAT +0 +0 +1 - \[10\] .tbss +NOBITS +0+1a60 0+a60 0+20 00 WAT +0 +0 +1 - \[11\] .dynamic +DYNAMIC +0+1a60 0+a60 0+130 10 +WA +3 +0 +8 - \[12\] .got +PROGBITS +0+1b90 0+b90 0+b0 08 +WA +0 +0 +8 - \[13\] .sbss +.* - \[14\] .bss +.* - \[15\] .shstrtab +.* - \[16\] .symtab +.* - \[17\] .strtab +.* + \[ 7\] .text +PROGBITS +.* + \[ 8\] .tdata +PROGBITS +0+1900 0+900 0+60 00 WAT +0 +0 +32 + \[ 9\] .tbss +NOBITS +0+1960 0+960 0+20 00 WAT +0 +0 +1 + \[10\] .dynamic +DYNAMIC +0+1960 0+960 0+130 10 +WA +3 +0 +8 + \[11\] .got +PROGBITS +0+1a90 0+a90 0+b0 08 +WA +0 +0 +8 + \[12\] .data +.* + \[13\] .bss +.* + \[14\] .shstrtab +.* + \[15\] .symtab +.* + \[16\] .strtab +.* Key to Flags: .* .* .* Elf file type is DYN \(Shared object file\) -Entry point 0x790 +Entry point 0x[0-9a-f]+ There are 4 program headers, starting at offset [0-9]+ Program Headers: Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000 - LOAD +0x0+a00 0x0+1a00 0x0+1a00 0x0+240 0x0+240 RW +0x1000 - DYNAMIC +0x0+a60 0x0+1a60 0x0+1a60 0x0+130 0x0+130 RW +0x8 - TLS +0x0+a00 0x0+1a00 0x0+1a00 0x0+60 0x0+80 R +0x1 + LOAD +0x0+900 0x0+1900 0x0+1900 0x0+240 0x0+240 RW +0x1000 + DYNAMIC +0x0+960 0x0+1960 0x0+1960 0x0+130 0x0+130 RW +0x8 + TLS +0x0+900 0x0+1900 0x0+1900 0x0+60 0x0+80 R +0x20 Section to Segment mapping: Segment Sections... @@ -52,114 +51,104 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend -[0-9a-z]+ 0+36 R_390_TLS_DTPMOD +0+ -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+24 -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+30 -[0-9a-z]+ 0+36 R_390_TLS_DTPMOD +0+ -[0-9a-z]+ 0+36 R_390_TLS_DTPMOD +0+ -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+64 -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+50 -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+70 -[0-9a-z]+ 0+36 R_390_TLS_DTPMOD +0+ -[0-9a-z]+ 0+38 R_390_TLS_TPOFF +0+44 -[0-9a-z]+ 0+130+38 R_390_TLS_TPOFF +0+10 sg5 \+ 0 -[0-9a-z]+ 0+150+36 R_390_TLS_DTPMOD +0+ sg1 \+ 0 -[0-9a-z]+ 0+150+37 R_390_TLS_DTPOFF +0+ sg1 \+ 0 -[0-9a-z]+ 0+180+38 R_390_TLS_TPOFF +0+4 sg2 \+ 0 +[0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+24 +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+30 +[0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ +[0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+64 +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+50 +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+70 +[0-9a-f]+ 0+36 R_390_TLS_DTPMOD +0+ +[0-9a-f]+ 0+38 R_390_TLS_TPOFF +0+44 +[0-9a-f]+ 0+a0+38 R_390_TLS_TPOFF +0+10 sg5 \+ 0 +[0-9a-f]+ 0+c0+36 R_390_TLS_DTPMOD +0+ sg1 \+ 0 +[0-9a-f]+ 0+c0+37 R_390_TLS_DTPOFF +0+ sg1 \+ 0 +[0-9a-f]+ 0+f0+38 R_390_TLS_TPOFF +0+4 sg2 \+ 0 -Relocation section '.rela.plt' at offset 0x738 contains 1 entries: +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: +Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend -0+1ba8 0+140+b R_390_JMP_SLOT +0+ __tls_get_offset \+ 0 +[0-9a-f]+ 0+b0+b R_390_JMP_SLOT +0+ __tls_get_offset \+ 0 -Symbol table '.dynsym' contains 30 entries: +Symbol table '.dynsym' contains 21 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +1 - +2: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +2 - +3: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +3 - +4: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +4 - +5: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +5 - +6: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +6 - +7: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +7 - +8: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +8 - +9: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +9 - +10: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +10 - +11: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +11 - +12: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +12 - +13: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +13 - +14: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +14 - +15: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 - +16: [0-9a-z]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +17: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 - +18: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 - +19: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 - +20: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset - +21: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 - +22: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 - +23: [0-9a-z]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +24: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 - +25: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 - +26: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 - +27: [0-9a-z]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +28: [0-9a-z]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +29: 0+1c40 +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5 + +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end -Symbol table '.symtab' contains 57 entries: +Symbol table '.symtab' contains 56 entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name - +0: 0+ +0 NOTYPE LOCAL DEFAULT UND - +1: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +1 - +2: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +2 - +3: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +3 - +4: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +4 - +5: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +5 - +6: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +6 - +7: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +7 - +8: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +8 - +9: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +9 - +10: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +10 - +11: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +11 - +12: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +12 - +13: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +13 - +14: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +14 - +15: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +15 - +16: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +16 - +17: [0-9a-z]+ +0 SECTION LOCAL DEFAULT +17 - +18: 0+20 +0 TLS +LOCAL DEFAULT +9 sl1 - +19: 0+24 +0 TLS +LOCAL DEFAULT +9 sl2 - +20: 0+28 +0 TLS +LOCAL DEFAULT +9 sl3 - +21: 0+2c +0 TLS +LOCAL DEFAULT +9 sl4 - +22: 0+30 +0 TLS +LOCAL DEFAULT +9 sl5 - +23: 0+34 +0 TLS +LOCAL DEFAULT +9 sl6 - +24: 0+38 +0 TLS +LOCAL DEFAULT +9 sl7 - +25: 0+3c +0 TLS +LOCAL DEFAULT +9 sl8 - +26: 0+60 +0 TLS +LOCAL HIDDEN +10 sH1 - +27: 0+48 +0 TLS +LOCAL HIDDEN +9 sh3 - +28: 0+64 +0 TLS +LOCAL HIDDEN +10 sH2 - +29: 0+78 +0 TLS +LOCAL HIDDEN +10 sH7 - +30: 0+58 +0 TLS +LOCAL HIDDEN +9 sh7 - +31: 0+5c +0 TLS +LOCAL HIDDEN +9 sh8 - +32: 0+6c +0 TLS +LOCAL HIDDEN +10 sH4 - +33: 0+4c +0 TLS +LOCAL HIDDEN +9 sh4 - +34: 0+68 +0 TLS +LOCAL HIDDEN +10 sH3 - +35: 0+50 +0 TLS +LOCAL HIDDEN +9 sh5 - +36: 0+70 +0 TLS +LOCAL HIDDEN +10 sH5 - +37: 0+74 +0 TLS +LOCAL HIDDEN +10 sH6 - +38: 0+7c +0 TLS +LOCAL HIDDEN +10 sH8 - +39: 0+40 +0 TLS +LOCAL HIDDEN +9 sh1 - +40: 0+44 +0 TLS +LOCAL HIDDEN +9 sh2 - +41: 0+54 +0 TLS +LOCAL HIDDEN +9 sh6 - +42: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8 - +43: [0-9a-z]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC - +44: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3 - +45: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4 - +46: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5 - +47: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset - +48: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1 - +49: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 - +50: [0-9a-z]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start - +51: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2 - +52: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6 - +53: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7 - +54: [0-9a-z]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata - +55: [0-9a-z]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - +56: [0-9a-z]+ +0 NOTYPE GLOBAL DEFAULT ABS _end + +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +1 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +2 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +3 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +4 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +5 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +6 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +7 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +8 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +9 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +10 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +11 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +13 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +15 + +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +16 + +[0-9]+: 0+20 +0 TLS +LOCAL DEFAULT +8 sl1 + +[0-9]+: 0+24 +0 TLS +LOCAL DEFAULT +8 sl2 + +[0-9]+: 0+28 +0 TLS +LOCAL DEFAULT +8 sl3 + +[0-9]+: 0+2c +0 TLS +LOCAL DEFAULT +8 sl4 + +[0-9]+: 0+30 +0 TLS +LOCAL DEFAULT +8 sl5 + +[0-9]+: 0+34 +0 TLS +LOCAL DEFAULT +8 sl6 + +[0-9]+: 0+38 +0 TLS +LOCAL DEFAULT +8 sl7 + +[0-9]+: 0+3c +0 TLS +LOCAL DEFAULT +8 sl8 + +[0-9]+: 0+60 +0 TLS +LOCAL HIDDEN +9 sH1 + +[0-9]+: 0+48 +0 TLS +LOCAL HIDDEN +8 sh3 + +[0-9]+: 0+64 +0 TLS +LOCAL HIDDEN +9 sH2 + +[0-9]+: 0+78 +0 TLS +LOCAL HIDDEN +9 sH7 + +[0-9]+: 0+58 +0 TLS +LOCAL HIDDEN +8 sh7 + +[0-9]+: 0+5c +0 TLS +LOCAL HIDDEN +8 sh8 + +[0-9]+: 0+6c +0 TLS +LOCAL HIDDEN +9 sH4 + +[0-9]+: 0+4c +0 TLS +LOCAL HIDDEN +8 sh4 + +[0-9]+: 0+68 +0 TLS +LOCAL HIDDEN +9 sH3 + +[0-9]+: 0+50 +0 TLS +LOCAL HIDDEN +8 sh5 + +[0-9]+: 0+70 +0 TLS +LOCAL HIDDEN +9 sH5 + +[0-9]+: 0+74 +0 TLS +LOCAL HIDDEN +9 sH6 + +[0-9]+: 0+7c +0 TLS +LOCAL HIDDEN +9 sH8 + +[0-9]+: 0+40 +0 TLS +LOCAL HIDDEN +8 sh1 + +[0-9]+: 0+44 +0 TLS +LOCAL HIDDEN +8 sh2 + +[0-9]+: 0+54 +0 TLS +LOCAL HIDDEN +8 sh6 + +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8 + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC + +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3 + +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5 + +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_offset + +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start + +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata + +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end diff --git a/ld/testsuite/ld-s390/tlspic_64.sd b/ld/testsuite/ld-s390/tlspic_64.sd index 4e1672d..267416e 100644 --- a/ld/testsuite/ld-s390/tlspic_64.sd +++ b/ld/testsuite/ld-s390/tlspic_64.sd @@ -8,14 +8,14 @@ .*: +file format elf64-s390 Contents of section .got: - 1b90 [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .* - 1ba0 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .* - 1bb0 00000000 00000000 00000000 00000020 .* - 1bc0 00000000 00000000 00000000 00000000 .* - 1bd0 00000000 00000000 00000000 00000000 .* - 1be0 00000000 00000000 00000000 00000060 .* - 1bf0 00000000 00000000 00000000 00000000 .* - 1c00 00000000 00000000 00000000 00000000 .* - 1c10 00000000 00000000 00000000 00000000 .* - 1c20 00000000 00000000 00000000 00000000 .* - 1c30 00000000 00000040 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]+ 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 .* diff --git a/ld/testsuite/ld-s390/tlspic_64.td b/ld/testsuite/ld-s390/tlspic_64.td index ba2b934..36623bb 100644 --- a/ld/testsuite/ld-s390/tlspic_64.td +++ b/ld/testsuite/ld-s390/tlspic_64.td @@ -8,9 +8,9 @@ .*: +file format elf64-s390 Contents of section .tdata: - 1a00 00000011 00000012 00000013 00000014 .* - 1a10 00000015 00000016 00000017 00000018 .* - 1a20 00000041 00000042 00000043 00000044 .* - 1a30 00000045 00000046 00000047 00000048 .* - 1a40 00000101 00000102 00000103 00000104 .* - 1a50 00000105 00000106 00000107 00000108 .* + [0-9a-f]+ 00000011 00000012 00000013 00000014 .* + [0-9a-f]+ 00000015 00000016 00000017 00000018 .* + [0-9a-f]+ 00000041 00000042 00000043 00000044 .* + [0-9a-f]+ 00000045 00000046 00000047 00000048 .* + [0-9a-f]+ 00000101 00000102 00000103 00000104 .* + [0-9a-f]+ 00000105 00000106 00000107 00000108 .* |