This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] Little hardening DSOs/executables against exploits (take 3)
On Tue, Jan 13, 2004 at 09:11:31AM +1030, Alan Modra wrote:
> On Mon, Jan 12, 2004 at 12:38:51PM +0100, Jakub Jelinek wrote:
> > Below is an updated patch for the ELF DSO/executable section reshuffling
> > to make life harder for data section buffer overflows.
>
> OK, provided you also fix any testsuite breakage this might cause.
I found a couple of bugs in the patch, so I'm posting a new version.
In addition to that, because it is necessary to update all testsuites
anyway, I've killed STT_SECTION symbols in -shared .dynamic section
which cannot be ever used (e.g. for non-allocated sections, or linker
generated sections which one cannot create relocations against).
This saves some 300-600 bytes on 32-bit hosts in every shared library,
but more importantly, creating a shared library with debug info and then
stripping it afterwards should have the same result as stripping already
during linking.
This is what the elflink.h (elf_bfd_final_link) and elflink.c
(_bfd_elf_link_renumber_dynsyms) hunks do.
I've fixed IA32/AMD64/s390/s390x testsuites (NO_SMALL_DATA arches).
Ok to commit in this shape (and I'd work on the remaining testcases),
or do I need to wait for all of them before committing?
2004-01-19 Jakub Jelinek <jakub@redhat.com>
bfd/
* elflink.h (elf_bfd_final_link): Don't output STT_SECTION symbol
into .dynsym if elf_section_data (sec)->dynindx <= 0.
Adjust counting of last_local.
* elflink.c (_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.h (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/
* 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.
* scripttempl/elf.sc: 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-elfvsb/elfvsb.exp: XFAIL non-PIC load offset tests on s390x.
* ld-shared/shared.exp: Likewise.
--- binutils/readelf.c.jj 2004-01-14 22:07:44.000000000 +0100
+++ binutils/readelf.c 2004-01-15 11:13:13.000000000 +0100
@@ -2144,6 +2144,7 @@ get_segment_type (unsigned long p_type)
case PT_GNU_EH_FRAME:
return "GNU_EH_FRAME";
case PT_GNU_STACK: return "STACK";
+ case PT_GNU_RELRO: return "GNU_RELRO";
default:
if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
--- bfd/elf32-i386.c.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elf32-i386.c 2004-01-15 11:13:13.000000000 +0100
@@ -2269,24 +2269,29 @@ elf_i386_relocate_section (bfd *output_b
if (off >= (bfd_vma) -2)
abort ();
- relocation = htab->sgot->output_offset + off;
+ relocation = htab->sgot->output_section->vma
+ + htab->sgot->output_offset + off
+ - htab->sgotplt->output_section->vma
+ - htab->sgotplt->output_offset;
break;
case R_386_GOTOFF:
/* Relocation is relative to the start of the global offset
table. */
- /* Note that sgot->output_offset is not involved in this
- calculation. We always want the start of .got. If we
- defined _GLOBAL_OFFSET_TABLE in a different way, as is
+ /* Note that sgot is not involved in this
+ calculation. We always want the start of .got.plt. If we
+ defined _GLOBAL_OFFSET_TABLE_ in a different way, as is
permitted by the ABI, we might have to change this
calculation. */
- relocation -= htab->sgot->output_section->vma;
+ relocation -= htab->sgotplt->output_section->vma
+ + htab->sgotplt->output_offset;
break;
case R_386_GOTPC:
/* Use global offset table as symbol value. */
- relocation = htab->sgot->output_section->vma;
+ relocation = htab->sgotplt->output_section->vma
+ + htab->sgotplt->output_offset;
unresolved_reloc = FALSE;
break;
@@ -2707,12 +2712,15 @@ elf_i386_relocate_section (bfd *output_b
abort ();
if (r_type == ELF32_R_TYPE (rel->r_info))
{
- relocation = htab->sgot->output_offset + off;
+ bfd_vma g_o_t = htab->sgotplt->output_section->vma
+ + htab->sgotplt->output_offset;
+ relocation = htab->sgot->output_section->vma
+ + htab->sgot->output_offset + off - g_o_t;
if ((r_type == R_386_TLS_IE || r_type == R_386_TLS_GOTIE)
&& tls_type == GOT_TLS_IE_BOTH)
relocation += 4;
if (r_type == R_386_TLS_IE)
- relocation += htab->sgot->output_section->vma;
+ relocation += g_o_t;
unresolved_reloc = FALSE;
}
else
@@ -2769,7 +2777,11 @@ elf_i386_relocate_section (bfd *output_b
if (tls_type == GOT_TLS_IE_BOTH)
off += 4;
}
- bfd_put_32 (output_bfd, htab->sgot->output_offset + off,
+ bfd_put_32 (output_bfd,
+ htab->sgot->output_section->vma
+ + htab->sgot->output_offset + off
+ - htab->sgotplt->output_section->vma
+ - htab->sgotplt->output_offset,
contents + roff + 8);
/* Skip R_386_PLT32. */
rel++;
@@ -2831,7 +2843,10 @@ elf_i386_relocate_section (bfd *output_b
bfd_elf32_swap_reloc_out (output_bfd, &outrel, loc);
htab->tls_ldm_got.offset |= 1;
}
- relocation = htab->sgot->output_offset + off;
+ relocation = htab->sgot->output_section->vma
+ + htab->sgot->output_offset + off
+ - htab->sgotplt->output_section->vma
+ - htab->sgotplt->output_offset;
unresolved_reloc = FALSE;
break;
@@ -3167,7 +3182,8 @@ elf_i386_finish_dynamic_sections (bfd *o
continue;
case DT_PLTGOT:
- dyn.d_un.d_ptr = htab->sgot->output_section->vma;
+ s = htab->sgotplt;
+ dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
break;
case DT_JMPREL:
@@ -3253,6 +3269,10 @@ elf_i386_finish_dynamic_sections (bfd *o
elf_section_data (htab->sgotplt->output_section)->this_hdr.sh_entsize = 4;
}
+
+ if (htab->sgot && htab->sgot->_raw_size > 0)
+ elf_section_data (htab->sgot->output_section)->this_hdr.sh_entsize = 4;
+
return TRUE;
}
--- bfd/elf.c.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elf.c 2004-01-15 11:13:13.000000000 +0100
@@ -967,6 +967,7 @@ _bfd_elf_print_private_bfd_data (bfd *ab
case PT_TLS: pt = "TLS"; break;
case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
case PT_GNU_STACK: pt = "STACK"; break;
+ case PT_GNU_RELRO: pt = "RELRO"; break;
default: sprintf (buf, "0x%lx", p->p_type); pt = buf; break;
}
fprintf (f, "%8s off 0x", pt);
@@ -2291,6 +2292,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_In
case PT_GNU_STACK:
return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "stack");
+ case PT_GNU_RELRO:
+ return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro");
+
default:
/* Check for any processor-specific program segment types.
If no handler for them, default to making "segment" sections. */
@@ -3501,6 +3505,21 @@ map_sections_to_segments (bfd *abfd)
pm = &m->next;
}
+ if (elf_tdata (abfd)->relro)
+ {
+ amt = sizeof (struct elf_segment_map);
+ m = bfd_zalloc (abfd, amt);
+ if (m == NULL)
+ goto error_return;
+ m->next = NULL;
+ m->p_type = PT_GNU_RELRO;
+ m->p_flags = PF_R;
+ m->p_flags_valid = 1;
+
+ *pm = m;
+ pm = &m->next;
+ }
+
free (sections);
sections = NULL;
@@ -4002,6 +4021,37 @@ Error: First section in segment (%s) sta
if (! m->p_paddr_valid)
p->p_paddr = phdrs_paddr;
}
+ else if (p->p_type == PT_GNU_RELRO)
+ {
+ Elf_Internal_Phdr *lp;
+
+ for (lp = phdrs; lp < phdrs + count; ++lp)
+ {
+ if (lp->p_type == PT_LOAD
+ && lp->p_vaddr <= link_info->relro_end
+ && lp->p_vaddr >= link_info->relro_start
+ && lp->p_vaddr + lp->p_filesz
+ >= link_info->relro_end)
+ break;
+ }
+
+ if (lp < phdrs + count
+ && link_info->relro_end > lp->p_vaddr)
+ {
+ p->p_vaddr = lp->p_vaddr;
+ p->p_paddr = lp->p_paddr;
+ p->p_offset = lp->p_offset;
+ p->p_filesz = link_info->relro_end - lp->p_vaddr;
+ p->p_memsz = p->p_filesz;
+ p->p_align = 1;
+ p->p_flags = (lp->p_flags & ~PF_W);
+ }
+ else
+ {
+ memset (p, 0, sizeof *p);
+ p->p_type = PT_NULL;
+ }
+ }
}
}
@@ -4089,6 +4139,12 @@ get_program_header_size (bfd *abfd)
++segs;
}
+ if (elf_tdata (abfd)->relro)
+ {
+ /* We need a PT_GNU_RELRO segment. */
+ ++segs;
+ }
+
for (s = abfd->sections; s != NULL; s = s->next)
{
if ((s->flags & SEC_LOAD) != 0
--- bfd/elflink.h.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elflink.h 2004-01-16 10:54:44.000000000 +0100
@@ -1909,6 +1909,7 @@ NAME(bfd_elf,size_dynamic_sections) (bfd
if (!is_elf_hash_table (info->hash))
return TRUE;
+ elf_tdata (output_bfd)->relro = info->relro;
if (info->execstack)
elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
else if (info->noexecstack)
@@ -3636,15 +3637,17 @@ elf_bfd_final_link (bfd *abfd, struct bf
int indx;
Elf_External_Sym *dest;
+ if (elf_section_data (s)->dynindx <= 0)
+ continue;
indx = elf_section_data (s)->this_idx;
BFD_ASSERT (indx > 0);
sym.st_shndx = indx;
sym.st_value = s->vma;
dest = dynsym + elf_section_data (s)->dynindx;
+ if (last_local < elf_section_data (s)->dynindx)
+ last_local = elf_section_data (s)->dynindx;
elf_swap_symbol_out (abfd, &sym, dest, 0);
}
-
- last_local = bfd_count_sections (abfd);
}
/* Write out the local dynsyms. */
--- bfd/elf64-x86-64.c.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elf64-x86-64.c 2004-01-15 11:13:13.000000000 +0100
@@ -1919,9 +1919,11 @@ elf64_x86_64_relocate_section (bfd *outp
if (off >= (bfd_vma) -2)
abort ();
- relocation = htab->sgot->output_offset + off;
- if (r_type == R_X86_64_GOTPCREL)
- relocation += htab->sgot->output_section->vma;
+ relocation = htab->sgot->output_section->vma
+ + htab->sgot->output_offset + off;
+ if (r_type != R_X86_64_GOTPCREL)
+ relocation -= htab->sgotplt->output_section->vma
+ - htab->sgotplt->output_offset;
break;
@@ -2667,7 +2669,8 @@ elf64_x86_64_finish_dynamic_sections (bf
continue;
case DT_PLTGOT:
- dyn.d_un.d_ptr = htab->sgot->output_section->vma;
+ s = htab->sgotplt;
+ dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
break;
case DT_JMPREL:
@@ -2758,6 +2761,10 @@ elf64_x86_64_finish_dynamic_sections (bf
GOT_ENTRY_SIZE;
}
+ if (htab->sgot && htab->sgot->_raw_size > 0)
+ elf_section_data (htab->sgot->output_section)->this_hdr.sh_entsize
+ = GOT_ENTRY_SIZE;
+
return TRUE;
}
--- bfd/elf-bfd.h.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elf-bfd.h 2004-01-15 11:13:13.000000000 +0100
@@ -1202,6 +1202,9 @@ struct elf_obj_tdata
/* Segment flags for the PT_GNU_STACK segment. */
unsigned int stack_flags;
+ /* Should the PT_GNU_RELRO segment be emitted? */
+ bfd_boolean relro;
+
/* Symbol version definitions in external objects. */
Elf_Internal_Verdef *verdef;
--- bfd/elflink.c.jj 2004-01-14 22:07:43.000000000 +0100
+++ bfd/elflink.c 2004-01-16 11:50:20.000000000 +0100
@@ -613,8 +613,36 @@ _bfd_elf_link_renumber_dynsyms (bfd *out
{
asection *p;
for (p = output_bfd->sections; p ; p = p->next)
- if ((p->flags & SEC_EXCLUDE) == 0)
- elf_section_data (p)->dynindx = ++dynsymcount;
+ if ((p->flags & SEC_EXCLUDE) == 0
+ && (p->flags & SEC_ALLOC) != 0)
+ switch (elf_section_data (p)->this_hdr.sh_type)
+ {
+ case SHT_PROGBITS:
+ case SHT_NOBITS:
+ /* If sh_type is yet undecided, assume it could be
+ SHT_PROGBITS/SHT_NOBITS. */
+ case SHT_NULL:
+ if (strcmp (p->name, ".got") == 0
+ || strcmp (p->name, ".got.plt") == 0
+ || strcmp (p->name, ".plt") == 0)
+ {
+ asection *ip;
+ bfd *dynobj = elf_hash_table (info)->dynobj;
+
+ if (dynobj != NULL
+ && (ip = bfd_get_section_by_name (dynobj, p->name))
+ != NULL
+ && (ip->flags & SEC_LINKER_CREATED)
+ && ip->output_section == p)
+ continue;
+ }
+ elf_section_data (p)->dynindx = ++dynsymcount;
+ break;
+ /* There shouldn't be section relative relocations
+ against any other section. */
+ default:
+ break;
+ }
}
if (elf_hash_table (info)->dynlocal)
--- include/elf/common.h.jj 2004-01-14 22:07:51.000000000 +0100
+++ include/elf/common.h 2004-01-15 11:13:13.000000000 +0100
@@ -287,8 +287,9 @@
#define PT_LOPROC 0x70000000 /* Processor-specific */
#define PT_HIPROC 0x7FFFFFFF /* Processor-specific */
-#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
-#define PT_GNU_STACK (PT_LOOS + 0x474e551)
+#define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550) /* Frame unwind information */
+#define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
+#define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */
/* Program segment permissions, in program header p_flags field. */
--- include/bfdlink.h.jj 2004-01-14 22:07:51.000000000 +0100
+++ include/bfdlink.h 2004-01-15 11:13:13.000000000 +0100
@@ -302,6 +302,9 @@ struct bfd_link_info
flags. */
unsigned int noexecstack: 1;
+ /* TRUE if PT_GNU_RELRO segment should be created. */
+ unsigned int relro: 1;
+
/* What to do with unresolved symbols in an object file.
When producing static binaries the default is GENERATE_ERROR.
When producing dynamic binaries the default is IGNORE. The
@@ -386,6 +389,9 @@ struct bfd_link_info
/* May be used to set DT_FLAGS_1 for ELF. */
bfd_vma flags_1;
+
+ /* Start and end of RELRO region. */
+ bfd_vma relro_start, relro_end;
};
/* This structures holds a set of callback functions. These are
--- ld/emulparams/elf_i386.sh.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/emulparams/elf_i386.sh 2004-01-15 11:13:14.000000000 +0100
@@ -11,3 +11,4 @@ TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes
+SEPARATE_GOTPLT=12
--- ld/emulparams/elf_x86_64.sh.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/emulparams/elf_x86_64.sh 2004-01-15 11:13:14.000000000 +0100
@@ -12,6 +12,7 @@ TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes
+SEPARATE_GOTPLT=24
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
--- ld/emulparams/elf_s390.sh.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/emulparams/elf_s390.sh 2004-01-16 17:15:56.000000000 +0100
@@ -2,6 +2,7 @@ SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-s390"
TEXT_START_ADDR=0x00400000
MAXPAGESIZE=0x1000
+COMMONPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x00400000
ARCH="s390:31-bit"
MACHINE=
--- ld/emulparams/elf64_s390.sh.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/emulparams/elf64_s390.sh 2004-01-16 17:30:37.000000000 +0100
@@ -3,6 +3,7 @@ ELFSIZE=64
OUTPUT_FORMAT="elf64-s390"
TEXT_START_ADDR=0x80000000
MAXPAGESIZE=0x1000
+COMMONPAGESIZE=0x1000
NONPAGED_TEXT_START_ADDR=0x80000000
ARCH="s390:64-bit"
MACHINE=
--- ld/emulparams/elf32ppc.sh.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/emulparams/elf32ppc.sh 2004-01-16 12:41:37.000000000 +0100
@@ -14,7 +14,7 @@ MACHINE=
BSS_PLT=
EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
OTHER_BSS_END_SYMBOLS='__end = .;'
-OTHER_READWRITE_SECTIONS="
+OTHER_RELRO_SECTIONS="
.fixup ${RELOCATING-0} : { *(.fixup) }
.got1 ${RELOCATING-0} : { *(.got1) }
.got2 ${RELOCATING-0} : { *(.got2) }
--- ld/emultempl/elf32.em.jj 2004-01-15 11:07:57.000000000 +0100
+++ ld/emultempl/elf32.em 2004-01-15 11:13:14.000000000 +0100
@@ -1666,6 +1666,10 @@ cat >>e${EMULATION_NAME}.c <<EOF
link_info.noexecstack = TRUE;
link_info.execstack = FALSE;
}
+ else if (strcmp (optarg, "relro") == 0)
+ link_info.relro = TRUE;
+ else if (strcmp (optarg, "norelro") == 0)
+ link_info.relro = FALSE;
/* What about the other Solaris -z options? FIXME. */
break;
EOF
@@ -1713,8 +1717,10 @@ cat >>e${EMULATION_NAME}.c <<EOF
fprintf (file, _(" -z nodlopen\t\tMark DSO not available to dlopen\n"));
fprintf (file, _(" -z nodump\t\tMark DSO not available to dldump\n"));
fprintf (file, _(" -z noexecstack\tMark executable as not requiring executable stack\n"));
+ fprintf (file, _(" -z norelro\t\tDon't create RELRO program header\n"));
fprintf (file, _(" -z now\t\tMark object non-lazy runtime binding\n"));
fprintf (file, _(" -z origin\t\tMark object requiring immediate \$ORIGIN processing\n\t\t\t at runtime\n"));
+ fprintf (file, _(" -z relro\t\tCreate RELRO program header\n"));
fprintf (file, _(" -z KEYWORD\t\tIgnored for Solaris compatibility\n"));
EOF
fi
--- ld/scripttempl/elf.sc.jj 2004-01-15 10:51:43.000000000 +0100
+++ ld/scripttempl/elf.sc 2004-01-16 12:40:39.000000000 +0100
@@ -10,6 +10,8 @@
# OTHER_TEXT_SECTIONS - these get put in .text when relocating
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
# (e.g., .PARISC.global)
+# OTHER_RELRO_SECTIONS - other than .data.rel.ro ...
+# (e.g. PPC32 .fixup, .got[12])
# OTHER_BSS_SECTIONS - other than .bss .sbss ...
# OTHER_SECTIONS - at the end
# EXECUTABLE_SYMBOLS - symbols that must be defined for an
@@ -37,6 +39,10 @@
# combination of .fini sections.
# STACK_ADDR - start of a .stack section.
# OTHER_END_SYMBOLS - symbols to place right at the end of the script.
+# SEPARATE_GOTPLT - if set, .got.plt should be separate output section,
+# so that .got can be in the RELRO area. It should be set to
+# the number of bytes in the beginning of .got.plt which can be
+# in the RELRO area as well.
#
# When adding sections, do note that the names of some sections are used
# when specifying the start address of the next.
@@ -75,16 +81,31 @@ test "$LD_FLAG" = "N" && DATA_ADDR=.
test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
+DATA_SEGMENT_RELRO_END=""
+DATA_SEGMENT_RELRO_GOTPLT_END=""
DATA_SEGMENT_END=""
if test -n "${COMMONPAGESIZE}"; then
DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
+ if test -n "${SEPARATE_GOTPLT}"; then
+ DATA_SEGMENT_RELRO_GOTPLT_END=". = DATA_SEGMENT_RELRO_END (. + ${SEPARATE_GOTPLT});"
+ else
+ DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (.);"
+ fi
fi
INTERP=".interp ${RELOCATING-0} : { *(.interp) }"
PLT=".plt ${RELOCATING-0} : { *(.plt) }"
-test -z "$GOT" && GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) }"
+if test -z "$GOT"; then
+ if test -z "$SEPARATE_GOTPLT"; then
+ GOT=".got ${RELOCATING-0} : { *(.got.plt) *(.got) }"
+ else
+ GOT=".got ${RELOCATING-0} : { *(.got) }"
+ GOTPLT=".got.plt ${RELOCATING-0} : { ${RELOCATING+${DATA_SEGMENT_RELRO_GOTPLT_END}} *(.got.plt) }"
+ fi
+fi
DYNAMIC=".dynamic ${RELOCATING-0} : { *(.dynamic) }"
RODATA=".rodata ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }"
+DATARELRO=".data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) }"
STACKNOTE="/DISCARD/ : { *(.note.GNU-stack) }"
if test -z "${NO_SMALL_DATA}"; then
SBSS=".sbss ${RELOCATING-0} :
@@ -115,7 +136,10 @@ if test -z "${NO_SMALL_DATA}"; then
.rela.sdata2 ${RELOCATING-0} : { *(.rela.sdata2${RELOCATING+ .rela.sdata2.* .rela.gnu.linkonce.s2.*}) }"
REL_SBSS2=".rel.sbss2 ${RELOCATING-0} : { *(.rel.sbss2${RELOCATING+ .rel.sbss2.* .rel.gnu.linkonce.sb2.*}) }
.rela.sbss2 ${RELOCATING-0} : { *(.rela.sbss2${RELOCATING+ .rela.sbss2.* .rela.gnu.linkonce.sb2.*}) }"
+else
+ NO_SMALL_DATA=" "
fi
+test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
CTOR=".ctors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${CTOR_START}}
@@ -211,6 +235,8 @@ eval $COMBRELOCCAT <<EOF
.rel.rodata ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.* .rel.gnu.linkonce.r.*}) }
.rela.rodata ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.* .rela.gnu.linkonce.r.*}) }
${OTHER_READONLY_RELOC_SECTIONS}
+ .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }
+ .rela.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }
.rel.data ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }
.rela.data ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }
.rel.tdata ${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }
@@ -292,6 +318,14 @@ cat <<EOF
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
+ /* Exception handling */
+ .eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
+ .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
+
+ /* Thread Local Storage sections */
+ .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
+ .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
+
/* Ensure the __preinit_array_start label is properly aligned. We
could instead move the label definition inside the section, but
the linker would then create the section even if it turns out to
@@ -309,6 +343,20 @@ cat <<EOF
.fini_array ${RELOCATING-0} : { *(.fini_array) }
${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}}
+ ${RELOCATING+${CTOR}}
+ ${RELOCATING+${DTOR}}
+ .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
+
+ ${RELOCATING+${DATARELRO}}
+ ${OTHER_RELRO_SECTIONS}
+ ${TEXT_DYNAMIC-${DYNAMIC}}
+ ${NO_SMALL_DATA+${SEPARATE_GOTPLT+${GOT}}}
+ ${NO_SMALL_DATA+${SEPARATE_GOTPLT+${GOTPLT}}}
+ ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
+ ${NO_SMALL_DATA+${SEPARATE_GOTPLT-${GOT}}}
+
+ ${DATA_PLT+${PLT}}
+
.data ${RELOCATING-0} :
{
${RELOCATING+${DATA_START_SYMBOLS}}
@@ -316,19 +364,10 @@ cat <<EOF
${CONSTRUCTING+SORT(CONSTRUCTORS)}
}
.data1 ${RELOCATING-0} : { *(.data1) }
- .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
- .tbss ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
- .eh_frame ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
- .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
${WRITABLE_RODATA+${RODATA}}
${OTHER_READWRITE_SECTIONS}
- ${TEXT_DYNAMIC-${DYNAMIC}}
- ${RELOCATING+${CTOR}}
- ${RELOCATING+${DTOR}}
- .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
- ${DATA_PLT+${PLT}}
${RELOCATING+${OTHER_GOT_SYMBOLS}}
- ${GOT}
+ ${NO_SMALL_DATA-${GOT}}
${OTHER_GOT_SECTIONS}
${CREATE_SHLIB+${SDATA2}}
${CREATE_SHLIB+${SBSS2}}
--- ld/ldlex.l.jj 2004-01-15 10:51:43.000000000 +0100
+++ ld/ldlex.l 2004-01-15 11:13:14.000000000 +0100
@@ -254,6 +254,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([
<BOTH,SCRIPT>"LENGTH" { RTOKEN(LENGTH);}
<EXPRESSION,BOTH,SCRIPT>"ALIGN" { RTOKEN(ALIGN_K);}
<EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_ALIGN" { RTOKEN(DATA_SEGMENT_ALIGN);}
+<EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_RELRO_END" { RTOKEN(DATA_SEGMENT_RELRO_END);}
<EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_END" { RTOKEN(DATA_SEGMENT_END);}
<EXPRESSION,BOTH,SCRIPT>"ADDR" { RTOKEN(ADDR);}
<EXPRESSION,BOTH,SCRIPT>"LOADADDR" { RTOKEN(LOADADDR);}
--- ld/ldgram.y.jj 2004-01-15 10:54:08.000000000 +0100
+++ ld/ldgram.y 2004-01-15 11:13:14.000000000 +0100
@@ -128,7 +128,7 @@ static int error_index;
%token END
%left <token> '('
%token <token> ALIGN_K BLOCK BIND QUAD SQUAD LONG SHORT BYTE
-%token SECTIONS PHDRS SORT DATA_SEGMENT_ALIGN DATA_SEGMENT_END
+%token SECTIONS PHDRS SORT DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END DATA_SEGMENT_END
%token '{' '}'
%token SIZEOF_HEADERS OUTPUT_FORMAT FORCE_COMMON_ALLOCATION OUTPUT_ARCH
%token INHIBIT_COMMON_ALLOCATION
@@ -803,6 +803,8 @@ exp :
{ $$ = exp_unop(ALIGN_K,$3); }
| DATA_SEGMENT_ALIGN '(' exp ',' exp ')'
{ $$ = exp_binop (DATA_SEGMENT_ALIGN, $3, $5); }
+ | DATA_SEGMENT_RELRO_END '(' exp ')'
+ { $$ = exp_unop(DATA_SEGMENT_RELRO_END, $3); }
| DATA_SEGMENT_END '(' exp ')'
{ $$ = exp_unop(DATA_SEGMENT_END, $3); }
| BLOCK '(' exp ')'
--- ld/ldexp.c.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/ldexp.c 2004-01-15 11:13:14.000000000 +0100
@@ -101,6 +101,7 @@ exp_print_token (token_code_type code, i
{ MAX_K, "MAX_K" },
{ REL, "relocatable" },
{ DATA_SEGMENT_ALIGN, "DATA_SEGMENT_ALIGN" },
+ { DATA_SEGMENT_RELRO_END, "DATA_SEGMENT_RELRO_END" },
{ DATA_SEGMENT_END, "DATA_SEGMENT_END" }
};
unsigned int idx;
@@ -275,14 +276,36 @@ fold_unary (etree_type *tree,
result.valid_p = FALSE;
break;
+ case DATA_SEGMENT_RELRO_END:
+ if (allocation_done != lang_first_phase_enum
+ && (exp_data_seg.phase == exp_dataseg_align_seen
+ || exp_data_seg.phase == exp_dataseg_adjust
+ || exp_data_seg.phase == exp_dataseg_relro_adjust
+ || allocation_done != lang_allocating_phase_enum))
+ {
+ if (exp_data_seg.phase == exp_dataseg_align_seen
+ || exp_data_seg.phase == exp_dataseg_relro_adjust)
+ exp_data_seg.relro_end
+ = result.value + current_section->bfd_section->vma;
+ if (exp_data_seg.phase == exp_dataseg_align_seen)
+ exp_data_seg.phase = exp_dataseg_relro_seen;
+ result.value = dot - current_section->bfd_section->vma;
+ }
+ else
+ result.valid_p = FALSE;
+ break;
+
case DATA_SEGMENT_END:
if (allocation_done != lang_first_phase_enum
&& current_section == abs_output_section
&& (exp_data_seg.phase == exp_dataseg_align_seen
+ || exp_data_seg.phase == exp_dataseg_relro_seen
|| exp_data_seg.phase == exp_dataseg_adjust
+ || exp_data_seg.phase == exp_dataseg_relro_adjust
|| allocation_done != lang_allocating_phase_enum))
{
- if (exp_data_seg.phase == exp_dataseg_align_seen)
+ if (exp_data_seg.phase == exp_dataseg_align_seen
+ || exp_data_seg.phase == exp_dataseg_relro_seen)
{
exp_data_seg.phase = exp_dataseg_end_seen;
exp_data_seg.end = result.value;
@@ -399,12 +422,23 @@ fold_binary (etree_type *tree,
&& current_section == abs_output_section
&& (exp_data_seg.phase == exp_dataseg_none
|| exp_data_seg.phase == exp_dataseg_adjust
+ || exp_data_seg.phase == exp_dataseg_relro_adjust
|| allocation_done != lang_allocating_phase_enum))
{
bfd_vma maxpage = result.value;
result.value = align_n (dot, maxpage);
- if (exp_data_seg.phase != exp_dataseg_adjust)
+ if (exp_data_seg.phase == exp_dataseg_relro_adjust)
+ {
+ /* Attempt to align DATA_SEGMENT_RELRO_END at
+ a common page boundary. */
+ bfd_vma relro;
+
+ relro = exp_data_seg.relro_end - exp_data_seg.base;
+ result.value += -relro & (other.value - 1);
+ exp_data_seg.base = result.value;
+ }
+ else if (exp_data_seg.phase != exp_dataseg_adjust)
{
result.value += dot & (maxpage - 1);
if (allocation_done == lang_allocating_phase_enum)
@@ -412,6 +446,7 @@ fold_binary (etree_type *tree,
exp_data_seg.phase = exp_dataseg_align_seen;
exp_data_seg.base = result.value;
exp_data_seg.pagesize = other.value;
+ exp_data_seg.relro_end = 0;
}
}
else if (other.value < maxpage)
--- ld/ldexp.h.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/ldexp.h 2004-01-15 11:13:14.000000000 +0100
@@ -95,10 +95,12 @@ extern struct exp_data_seg {
enum {
exp_dataseg_none,
exp_dataseg_align_seen,
+ exp_dataseg_relro_seen,
exp_dataseg_end_seen,
+ exp_dataseg_relro_adjust,
exp_dataseg_adjust
} phase;
- bfd_vma base, end, pagesize;
+ bfd_vma base, relro_end, end, pagesize;
} exp_data_seg;
typedef struct _fill_type fill_type;
--- ld/ldmain.c.jj 2004-01-14 22:07:52.000000000 +0100
+++ ld/ldmain.c 2004-01-15 11:13:14.000000000 +0100
@@ -299,6 +299,7 @@ main (int argc, char **argv)
link_info.new_dtags = FALSE;
link_info.combreloc = TRUE;
link_info.eh_frame_hdr = FALSE;
+ link_info.relro = FALSE;
link_info.strip_discarded = TRUE;
link_info.strip = strip_none;
link_info.discard = discard_sec_merge;
--- ld/ldlang.c.jj 2004-01-15 10:53:27.000000000 +0100
+++ ld/ldlang.c 2004-01-15 11:13:14.000000000 +0100
@@ -3364,7 +3364,19 @@ lang_size_sections
exp_data_seg.phase = exp_dataseg_none;
result = lang_size_sections_1 (s, output_section_statement, prev, fill,
dot, relax, check_regions);
- if (exp_data_seg.phase == exp_dataseg_end_seen)
+ if (exp_data_seg.phase == exp_dataseg_end_seen
+ && link_info.relro && exp_data_seg.relro_end)
+ {
+ /* If DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END pair was seen, try
+ to put exp_data_seg.relro on a (common) page boundary. */
+
+ exp_data_seg.phase = exp_dataseg_relro_adjust;
+ result = lang_size_sections_1 (s, output_section_statement, prev, fill,
+ dot, relax, check_regions);
+ link_info.relro_start = exp_data_seg.base;
+ link_info.relro_end = exp_data_seg.relro_end;
+ }
+ else if (exp_data_seg.phase == exp_dataseg_end_seen)
{
/* If DATA_SEGMENT_ALIGN DATA_SEGMENT_END pair was seen, check whether
a page could be saved in the data segment. */
--- ld/testsuite/ld-i386/tlspic.rd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlspic.rd 2004-01-16 12:04:33.000000000 +0100
@@ -17,15 +17,16 @@ Section Headers:
\[ 5\] \.rel.plt +.*
\[ 6\] \.plt +.*
\[ 7\] \.text +.*
- \[ 8\] \.data +.*
- \[ 9\] .tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT 0 0 1
- \[10\] .tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT 0 0 1
- \[11\] \.dynamic +.*
- \[12\] \.got +.*
- \[13\] \.bss +.*
- \[14\] \.shstrtab +.*
- \[15\] \.symtab +.*
- \[16\] \.strtab +.*
+ \[ 8\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT 0 0 1
+ \[ 9\] \.tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT 0 0 1
+ \[10\] \.dynamic +.*
+ \[11\] \.got +.*
+ \[12\] \.got.plt +.*
+ \[13\] \.data +.*
+ \[14\] \.bss +.*
+ \[15\] \.shstrtab +.*
+ \[16\] \.symtab +.*
+ \[17\] \.strtab +.*
Key to Flags:
.*
.*
@@ -45,7 +46,7 @@ Program Headers:
Section to Segment mapping:
Segment Sections...
00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
- 01 +.tdata .tbss .dynamic .got *
+ 01 +.tdata .tbss .dynamic .got .got.plt *
02 +.tbss .dynamic *
03 +.tdata .tbss *
@@ -70,105 +71,98 @@ Relocation section '.rel.dyn' at offset
[0-9a-f]+ +0+0e R_386_TLS_TPOFF *
[0-9a-f]+ +0+23 R_386_TLS_DTPMOD3
[0-9a-f]+ +0+25 R_386_TLS_TPOFF32
-[0-9a-f]+ +0+100e R_386_TLS_TPOFF 0+8 sg3
-[0-9a-f]+ +0+1125 R_386_TLS_TPOFF32 0+c sg4
-[0-9a-f]+ +0+110e R_386_TLS_TPOFF 0+c sg4
-[0-9a-f]+ +0+120e R_386_TLS_TPOFF 0+10 sg5
-[0-9a-f]+ +0+1323 R_386_TLS_DTPMOD3 0+ sg1
-[0-9a-f]+ +0+1324 R_386_TLS_DTPOFF3 0+ sg1
-[0-9a-f]+ +0+1625 R_386_TLS_TPOFF32 0+4 sg2
+[0-9a-f]+ +0+80e R_386_TLS_TPOFF 0+8 sg3
+[0-9a-f]+ +0+925 R_386_TLS_TPOFF32 0+c sg4
+[0-9a-f]+ +0+90e R_386_TLS_TPOFF 0+c sg4
+[0-9a-f]+ +0+a0e R_386_TLS_TPOFF 0+10 sg5
+[0-9a-f]+ +0+b23 R_386_TLS_DTPMOD3 0+ sg1
+[0-9a-f]+ +0+b24 R_386_TLS_DTPOFF3 0+ sg1
+[0-9a-f]+ +0+e25 R_386_TLS_TPOFF32 0+4 sg2
-Relocation section '.rel.plt' at offset 0x480 contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym.Value Sym. Name
-[0-9a-f]+ 0+1c07 R_386_JUMP_SLOT 0+ ___tls_get_addr
+[0-9a-f]+ 0+1407 R_386_JUMP_SLOT 0+ ___tls_get_addr
-Symbol table '.dynsym' contains 29 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+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +15: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +16: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +17: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +18: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +19: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +20: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +21: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +22: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +23: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +24: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +25: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +26: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +27: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
- +28: 0+ +0 NOTYPE GLOBAL DEFAULT UND ___tls_get_addr
+ +[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 +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 *
+ +[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 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
+ +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND ___tls_get_addr
-Symbol table '.symtab' contains 56 entries:
+Symbol table '.symtab' contains 57 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+20 +0 TLS +LOCAL DEFAULT +9 sl1
- +18: 0+24 +0 TLS +LOCAL DEFAULT +9 sl2
- +19: 0+28 +0 TLS +LOCAL DEFAULT +9 sl3
- +20: 0+2c +0 TLS +LOCAL DEFAULT +9 sl4
- +21: 0+30 +0 TLS +LOCAL DEFAULT +9 sl5
- +22: 0+34 +0 TLS +LOCAL DEFAULT +9 sl6
- +23: 0+38 +0 TLS +LOCAL DEFAULT +9 sl7
- +24: 0+3c +0 TLS +LOCAL DEFAULT +9 sl8
- +25: 0+60 +0 TLS +LOCAL HIDDEN +10 sH1
- +26: 0+48 +0 TLS +LOCAL HIDDEN +9 sh3
- +27: 0+64 +0 TLS +LOCAL HIDDEN +10 sH2
- +28: 0+78 +0 TLS +LOCAL HIDDEN +10 sH7
- +29: 0+58 +0 TLS +LOCAL HIDDEN +9 sh7
- +30: 0+5c +0 TLS +LOCAL HIDDEN +9 sh8
- +31: 0+6c +0 TLS +LOCAL HIDDEN +10 sH4
- +32: 0+4c +0 TLS +LOCAL HIDDEN +9 sh4
- +33: 0+68 +0 TLS +LOCAL HIDDEN +10 sH3
- +34: 0+50 +0 TLS +LOCAL HIDDEN +9 sh5
- +35: 0+70 +0 TLS +LOCAL HIDDEN +10 sH5
- +36: 0+74 +0 TLS +LOCAL HIDDEN +10 sH6
- +37: 0+7c +0 TLS +LOCAL HIDDEN +10 sH8
- +38: 0+40 +0 TLS +LOCAL HIDDEN +9 sh1
- +39: 0+44 +0 TLS +LOCAL HIDDEN +9 sh2
- +40: 0+54 +0 TLS +LOCAL HIDDEN +9 sh6
- +41: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +42: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +43: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +44: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +46: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +47: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +48: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +49: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +50: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +51: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +52: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +53: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +54: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
- +55: 0+ +0 NOTYPE GLOBAL DEFAULT UND ___tls_get_addr
+ +[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 +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 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
+ +[0-9]+: 0+ +0 NOTYPE GLOBAL DEFAULT UND ___tls_get_addr
--- ld/testsuite/ld-i386/tlspic.dd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlspic.dd 2004-01-15 16:29:47.000000000 +0100
@@ -16,13 +16,13 @@ Disassembly of section .text:
[0-9a-f]+: 50[ ]+push %eax
[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn1\+0xa>
[0-9a-f]+: 5b[ ]+pop %ebx
- [0-9a-f]+: 81 c3 [0-9a-f ]+[ ]+add \$0x[0-9a-f]+,%ebx
+ [0-9a-f]+: 81 c3 42 14 00 00[ ]+add \$0x[0-9a-f]+,%ebx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# GD
- [0-9a-f]+: 8d 04 1d 5c 00 00 00 lea 0x5c\(,%ebx,1\),%eax
+ [0-9a-f]+: 8d 04 1d d4 ff ff ff[ ]+lea 0xffffffd4\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 sg1
[0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -32,7 +32,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE because variable is referenced through @gottpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 78 00 00 00[ ]+sub 0x78\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 f0 ff ff ff[ ]+sub 0xfffffff0\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sg2
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -40,7 +40,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE because variable is referenced through @gotntpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 03 83 3c 00 00 00[ ]+add 0x3c\(%ebx\),%eax
+ [0-9a-f]+: 03 83 b4 ff ff ff[ ]+add 0xffffffb4\(%ebx\),%eax
# ->R_386_TLS_TPOFF sg3
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -48,14 +48,14 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE because variable is referenced through @gottpoff and
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 48 00 00 00[ ]+sub 0x48\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub 0xffffffc0\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sg4
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# GD against local variable
- [0-9a-f]+: 8d 04 1d 10 00 00 00 lea 0x10\(,%ebx,1\),%eax
+ [0-9a-f]+: 8d 04 1d 88 ff ff ff[ ]+lea 0xffffff88\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x20000000]
[0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -65,7 +65,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against local variable referenced through @gottpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 18 00 00 00[ ]+sub 0x18\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 90 ff ff ff[ ]+sub 0xffffff90\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xdcffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -73,7 +73,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against local variable referenced through @gotntpoff
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 03 83 1c 00 00 00[ ]+add 0x1c\(%ebx\),%eax
+ [0-9a-f]+: 03 83 94 ff ff ff[ ]+add 0xffffff94\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x28000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -81,14 +81,14 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against local variable referenced through @gottpoff and
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub 0xffffff98\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xd4ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# GD against hidden and local variable
- [0-9a-f]+: 8d 04 1d 7c 00 00 00 lea 0x7c\(,%ebx,1\),%eax
+ [0-9a-f]+: 8d 04 1d f4 ff ff ff[ ]+lea 0xfffffff4\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x40000000]
[0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -98,7 +98,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden and local variable referenced through @gottpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 84 00 00 00[ ]+sub 0x84\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 fc ff ff ff[ ]+sub 0xfffffffc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xbcffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -106,7 +106,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden and local variable referenced through @gotntpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 03 83 40 00 00 00[ ]+add 0x40\(%ebx\),%eax
+ [0-9a-f]+: 03 83 b8 ff ff ff[ ]+add 0xffffffb8\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x48000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -114,14 +114,14 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden and local variable referenced through @gottpoff and @gotntpoff too
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 64 00 00 00[ ]+sub 0x64\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub 0xffffffdc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xb4ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# GD against hidden but not local variable
- [0-9a-f]+: 8d 04 1d 34 00 00 00 lea 0x34\(,%ebx,1\),%eax
+ [0-9a-f]+: 8d 04 1d ac ff ff ff[ ]+lea 0xffffffac\(,%ebx,1\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x60000000]
[0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -131,7 +131,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden but not local variable referenced through
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 44 00 00 00[ ]+sub 0x44\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 bc ff ff ff[ ]+sub 0xffffffbc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0x9cffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -139,7 +139,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden but not local variable referenced through
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 03 83 6c 00 00 00[ ]+add 0x6c\(%ebx\),%eax
+ [0-9a-f]+: 03 83 e4 ff ff ff[ ]+add 0xffffffe4\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x68000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -147,14 +147,14 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# GD -> IE against hidden but not local variable referenced through
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- [0-9a-f]+: 2b 83 54 00 00 00[ ]+sub 0x54\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub 0xffffffcc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0x94ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# LD
- [0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
+ [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea 0xffffffa4\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
[0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -171,7 +171,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# LD against hidden and local variables
- [0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
+ [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea 0xffffffa4\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
[0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -188,7 +188,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# LD against hidden but not local variables
- [0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax
+ [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea 0xffffffa4\(%ebx\),%eax
# ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000]
[0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <.*0x[0-9a-f]+>
# ->R_386_JUMP_SLOT ___tls_get_addr
@@ -203,10 +203,10 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gottpoff IE against global var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 8b 78 00 00 00[ ]+sub 0x78\(%ebx\),%ecx
+ [0-9a-f]+: 2b 8b f0 ff ff ff[ ]+sub 0xfffffff0\(%ebx\),%ecx
# ->R_386_TLS_TPOFF32 sg2
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -216,17 +216,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 83 48 00 00 00[ ]+sub 0x48\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub 0xffffffc0\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sg4
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against global var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 8b 3c 00 00 00[ ]+add 0x3c\(%ebx\),%ecx
+ [0-9a-f]+: 03 8b b4 ff ff ff[ ]+add 0xffffffb4\(%ebx\),%ecx
# ->R_386_TLS_TPOFF sg3
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -236,17 +236,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 83 4c 00 00 00[ ]+add 0x4c\(%ebx\),%eax
+ [0-9a-f]+: 03 83 c4 ff ff ff[ ]+add 0xffffffc4\(%ebx\),%eax
# ->R_386_TLS_TPOFF sg4
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gottpoff IE against local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 8b 18 00 00 00[ ]+sub 0x18\(%ebx\),%ecx
+ [0-9a-f]+: 2b 8b 90 ff ff ff[ ]+sub 0xffffff90\(%ebx\),%ecx
# ->R_386_TLS_TPOFF32 [0xdcffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -256,17 +256,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub 0xffffff98\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xd4ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 8b 1c 00 00 00[ ]+add 0x1c\(%ebx\),%ecx
+ [0-9a-f]+: 03 8b 94 ff ff ff[ ]+add 0xffffff94\(%ebx\),%ecx
# ->R_386_TLS_TPOFF [0x28000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -276,17 +276,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 83 24 00 00 00[ ]+add 0x24\(%ebx\),%eax
+ [0-9a-f]+: 03 83 9c ff ff ff[ ]+add 0xffffff9c\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x2c000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gottpoff IE against hidden and local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 8b 84 00 00 00[ ]+sub 0x84\(%ebx\),%ecx
+ [0-9a-f]+: 2b 8b fc ff ff ff[ ]+sub 0xfffffffc\(%ebx\),%ecx
# ->R_386_TLS_TPOFF32 [0xbcffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -296,17 +296,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 83 64 00 00 00[ ]+sub 0x64\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub 0xffffffdc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0xb4ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against hidden and local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 8b 40 00 00 00[ ]+add 0x40\(%ebx\),%ecx
+ [0-9a-f]+: 03 8b b8 ff ff ff[ ]+add 0xffffffb8\(%ebx\),%ecx
# ->R_386_TLS_TPOFF [0x48000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -316,17 +316,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 83 68 00 00 00[ ]+add 0x68\(%ebx\),%eax
+ [0-9a-f]+: 03 83 e0 ff ff ff[ ]+add 0xffffffe0\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x4c000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gottpoff IE against hidden but not local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 8b 44 00 00 00[ ]+sub 0x44\(%ebx\),%ecx
+ [0-9a-f]+: 2b 8b bc ff ff ff[ ]+sub 0xffffffbc\(%ebx\),%ecx
# ->R_386_TLS_TPOFF32 [0x9cffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -336,17 +336,17 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 2b 83 54 00 00 00[ ]+sub 0x54\(%ebx\),%eax
+ [0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub 0xffffffcc\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 [0x94ffffff]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against hidden but not local var
- [0-9a-f]+: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 8b 6c 00 00 00[ ]+add 0x6c\(%ebx\),%ecx
+ [0-9a-f]+: 03 8b e4 ff ff ff[ ]+add 0xffffffe4\(%ebx\),%ecx
# ->R_386_TLS_TPOFF [0x68000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -356,7 +356,7 @@ Disassembly of section .text:
[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
- [0-9a-f]+: 03 83 58 00 00 00[ ]+add 0x58\(%ebx\),%eax
+ [0-9a-f]+: 03 83 d0 ff ff ff[ ]+add 0xffffffd0\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x6c000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -364,7 +364,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
# Direct access through %gs
# @gotntpoff IE against global var
- [0-9a-f]+: 8b 8b 50 00 00 00[ ]+mov 0x50\(%ebx\),%ecx
+ [0-9a-f]+: 8b 8b c8 ff ff ff[ ]+mov 0xffffffc8\(%ebx\),%ecx
# ->R_386_TLS_TPOFF sg5
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -374,7 +374,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against local var
- [0-9a-f]+: 8b 83 28 00 00 00[ ]+mov 0x28\(%ebx\),%eax
+ [0-9a-f]+: 8b 83 a0 ff ff ff[ ]+mov 0xffffffa0\(%ebx\),%eax
# ->R_386_TLS_TPOFF [0x30000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -384,7 +384,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against hidden and local var
- [0-9a-f]+: 8b 93 70 00 00 00[ ]+mov 0x70\(%ebx\),%edx
+ [0-9a-f]+: 8b 93 e8 ff ff ff[ ]+mov 0xffffffe8\(%ebx\),%edx
# ->R_386_TLS_TPOFF [0x50000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
@@ -394,7 +394,7 @@ Disassembly of section .text:
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
# @gotntpoff IE against hidden but not local var
- [0-9a-f]+: 8b 8b 74 00 00 00[ ]+mov 0x74\(%ebx\),%ecx
+ [0-9a-f]+: 8b 8b ec ff ff ff[ ]+mov 0xffffffec\(%ebx\),%ecx
# ->R_386_TLS_TPOFF [0x70000000]
[0-9a-f]+: 90[ ]+nop *
[0-9a-f]+: 90[ ]+nop *
--- ld/testsuite/ld-i386/tlspic.sd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlspic.sd 2004-01-15 16:40:46.000000000 +0100
@@ -8,7 +8,6 @@
.*: file format elf32-i386
Contents of section \.got:
- [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .*
[0-9a-f]+ 00000000 20000000 dcffffff 28000000 .*
[0-9a-f]+ d4ffffff 2c000000 30000000 00000000 .*
[0-9a-f]+ 00000000 00000000 60000000 00000000 .*
--- ld/testsuite/ld-i386/tlsbin.rd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlsbin.rd 2004-01-15 18:33:11.000000000 +0100
@@ -5,7 +5,7 @@
#readelf: -Ssrl
#target: i?86-*-*
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 19 section headers, starting at offset 0x[0-9a-f]+:
Section Headers:
\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -18,15 +18,16 @@ Section Headers:
\[ 6\] \.rel.plt +.*
\[ 7\] \.plt +.*
\[ 8\] \.text +PROGBITS +0+8049000 .*
- \[ 9\] \.data +.*
- \[10\] .tdata +PROGBITS +0+804a000 [0-9a-f]+ 000060 00 WAT 0 0 1
- \[11\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT 0 0 1
- \[12\] \.dynamic +DYNAMIC +0+804a060 .*
- \[13\] \.got +PROGBITS +0+804a100 .*
- \[14\] \.bss +.*
- \[15\] \.shstrtab +.*
- \[16\] \.symtab +.*
- \[17\] \.strtab +.*
+ \[ 9\] \.tdata +PROGBITS +0+804a000 [0-9a-f]+ 000060 00 WAT 0 0 4096
+ \[10\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT 0 0 1
+ \[11\] \.dynamic +DYNAMIC +0+804a060 .*
+ \[12\] \.got +PROGBITS +0+804a100 .*
+ \[13\] \.got\.plt +PROGBITS +0+804a124 .*
+ \[14\] \.data +.*
+ \[15\] \.bss +.*
+ \[16\] \.shstrtab +.*
+ \[17\] \.symtab +.*
+ \[18\] \.strtab +.*
Key to Flags:
.*
.*
@@ -44,124 +45,125 @@ Program Headers:
LOAD.*
LOAD.*
DYNAMIC.*
- TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1
+ TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
Section to Segment mapping:
Segment Sections...
00 +
01 +.interp *
02 +.interp .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
- 03 +.tdata .tbss .dynamic .got *
+ 03 +.tdata .tbss .dynamic .got .got.plt *
04 +.tbss .dynamic *
05 +.tdata .tbss *
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
Offset +Info +Type +Sym.Value +Sym. Name
-0+804a110 0000010e R_386_TLS_TPOFF +0+ +sG3
-0+804a114 0000020e R_386_TLS_TPOFF +0+ +sG5
-0+804a118 0000040e R_386_TLS_TPOFF +0+ +sG7
-0+804a11c 00000525 R_386_TLS_TPOFF32 0+ +sG2
-0+804a120 00000625 R_386_TLS_TPOFF32 0+ +sG4
-0+804a124 0000060e R_386_TLS_TPOFF +0+ +sG4
-0+804a128 00000825 R_386_TLS_TPOFF32 0+ +sG6
-0+804a12c 00000925 R_386_TLS_TPOFF32 0+ +sG1
-0+804a130 00000d0e R_386_TLS_TPOFF +0+ +sG8
+0+804a100 0000010e R_386_TLS_TPOFF +0+ +sG3
+0+804a104 0000020e R_386_TLS_TPOFF +0+ +sG5
+0+804a108 0000040e R_386_TLS_TPOFF +0+ +sG7
+0+804a10c 00000525 R_386_TLS_TPOFF32 0+ +sG2
+0+804a110 00000625 R_386_TLS_TPOFF32 0+ +sG4
+0+804a114 0000060e R_386_TLS_TPOFF +0+ +sG4
+0+804a118 00000825 R_386_TLS_TPOFF32 0+ +sG6
+0+804a11c 00000925 R_386_TLS_TPOFF32 0+ +sG1
+0+804a120 00000d0e R_386_TLS_TPOFF +0+ +sG8
Relocation section '.rel.plt' at offset 0x30c contains 1 entries:
Offset +Info +Type +Sym.Value Sym. Name
-0+804a10c 00000e07 R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
+0+804a130 00000e07 R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
Symbol table '.dynsym' contains 15 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+ +0 TLS +GLOBAL DEFAULT UND sG5
- +3: 0+804a060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +4: 0+ +0 TLS +GLOBAL DEFAULT UND sG7
- +5: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
- +6: 0+ +0 TLS +GLOBAL DEFAULT UND sG4
- +7: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +8: 0+ +0 TLS +GLOBAL DEFAULT UND sG6
- +9: 0+ +0 TLS +GLOBAL DEFAULT UND sG1
- +10: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +11: 0+804a100 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +12: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
- +13: 0+ +0 TLS +GLOBAL DEFAULT UND sG8
- +14: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND ___tls_get_addr
+ +[0-9]+: 0+ +0 NOTYPE LOCAL DEFAULT UND *
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG5
+ +[0-9]+: 0+804a060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG7
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG4
+ +[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
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG8
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND ___tls_get_addr
-Symbol table '.symtab' contains 74 entries:
+Symbol table '.symtab' contains 75 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: 00000020 +0 TLS +LOCAL DEFAULT +10 sl1
- +19: 00000024 +0 TLS +LOCAL DEFAULT +10 sl2
- +20: 00000028 +0 TLS +LOCAL DEFAULT +10 sl3
- +21: 0000002c +0 TLS +LOCAL DEFAULT +10 sl4
- +22: 00000030 +0 TLS +LOCAL DEFAULT +10 sl5
- +23: 00000034 +0 TLS +LOCAL DEFAULT +10 sl6
- +24: 00000038 +0 TLS +LOCAL DEFAULT +10 sl7
- +25: 0000003c +0 TLS +LOCAL DEFAULT +10 sl8
- +26: 00000080 +0 TLS +LOCAL DEFAULT +11 bl1
- +27: 00000084 +0 TLS +LOCAL DEFAULT +11 bl2
- +28: 00000088 +0 TLS +LOCAL DEFAULT +11 bl3
- +29: 0000008c +0 TLS +LOCAL DEFAULT +11 bl4
- +30: 00000090 +0 TLS +LOCAL DEFAULT +11 bl5
- +31: 00000094 +0 TLS +LOCAL DEFAULT +11 bl6
- +32: 00000098 +0 TLS +LOCAL DEFAULT +11 bl7
- +33: 0000009c +0 TLS +LOCAL DEFAULT +11 bl8
- +34: 0+ +0 TLS +GLOBAL DEFAULT UND sG3
- +35: 0000001c +0 TLS +GLOBAL DEFAULT +10 sg8
- +36: 0000007c +0 TLS +GLOBAL DEFAULT +11 bg8
- +37: 00000074 +0 TLS +GLOBAL DEFAULT +11 bg6
- +38: 0+ +0 TLS +GLOBAL DEFAULT UND sG5
- +39: 00000068 +0 TLS +GLOBAL DEFAULT +11 bg3
- +40: 0+804a060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +41: 00000008 +0 TLS +GLOBAL DEFAULT +10 sg3
- +42: 0+ +0 TLS +GLOBAL DEFAULT UND sG7
- +43: 00000048 +0 TLS +GLOBAL HIDDEN +10 sh3
- +44: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
- +45: 0000000c +0 TLS +GLOBAL DEFAULT +10 sg4
- +46: 0+ +0 TLS +GLOBAL DEFAULT UND sG4
- +47: 00000010 +0 TLS +GLOBAL DEFAULT +10 sg5
- +48: 00000070 +0 TLS +GLOBAL DEFAULT +11 bg5
- +49: 00000058 +0 TLS +GLOBAL HIDDEN +10 sh7
- +50: 0000005c +0 TLS +GLOBAL HIDDEN +10 sh8
- +51: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +52: 0+8049178 +0 FUNC +GLOBAL DEFAULT +8 _start
- +53: 0000004c +0 TLS +GLOBAL HIDDEN +10 sh4
- +54: 00000078 +0 TLS +GLOBAL DEFAULT +11 bg7
- +55: 00000050 +0 TLS +GLOBAL HIDDEN +10 sh5
- +56: 0+804a134 +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +57: 0+ +0 TLS +GLOBAL DEFAULT UND sG6
- +58: 0+8049000 +0 FUNC +GLOBAL DEFAULT +8 fn2
- +59: 00000004 +0 TLS +GLOBAL DEFAULT +10 sg2
- +60: 0+ +0 TLS +GLOBAL DEFAULT UND sG1
- +61: 00000040 +0 TLS +GLOBAL HIDDEN +10 sh1
- +62: 00000014 +0 TLS +GLOBAL DEFAULT +10 sg6
- +63: 00000018 +0 TLS +GLOBAL DEFAULT +10 sg7
- +64: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +65: 0+804a100 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +66: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
- +67: 00000044 +0 TLS +GLOBAL HIDDEN +10 sh2
- +68: 00000054 +0 TLS +GLOBAL HIDDEN +10 sh6
- +69: 0+ +0 TLS +GLOBAL DEFAULT UND sG8
- +70: 00000064 +0 TLS +GLOBAL DEFAULT +11 bg2
- +71: 00000060 +0 TLS +GLOBAL DEFAULT +11 bg1
- +72: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND ___tls_get_addr
- +73: 0000006c +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-9a-f]+ +0 SECTION LOCAL DEFAULT +18 *
+ +[0-9]+: 00000020 +0 TLS +LOCAL DEFAULT +9 sl1
+ +[0-9]+: 00000024 +0 TLS +LOCAL DEFAULT +9 sl2
+ +[0-9]+: 00000028 +0 TLS +LOCAL DEFAULT +9 sl3
+ +[0-9]+: 0000002c +0 TLS +LOCAL DEFAULT +9 sl4
+ +[0-9]+: 00000030 +0 TLS +LOCAL DEFAULT +9 sl5
+ +[0-9]+: 00000034 +0 TLS +LOCAL DEFAULT +9 sl6
+ +[0-9]+: 00000038 +0 TLS +LOCAL DEFAULT +9 sl7
+ +[0-9]+: 0000003c +0 TLS +LOCAL DEFAULT +9 sl8
+ +[0-9]+: 00000080 +0 TLS +LOCAL DEFAULT +10 bl1
+ +[0-9]+: 00000084 +0 TLS +LOCAL DEFAULT +10 bl2
+ +[0-9]+: 00000088 +0 TLS +LOCAL DEFAULT +10 bl3
+ +[0-9]+: 0000008c +0 TLS +LOCAL DEFAULT +10 bl4
+ +[0-9]+: 00000090 +0 TLS +LOCAL DEFAULT +10 bl5
+ +[0-9]+: 00000094 +0 TLS +LOCAL DEFAULT +10 bl6
+ +[0-9]+: 00000098 +0 TLS +LOCAL DEFAULT +10 bl7
+ +[0-9]+: 0000009c +0 TLS +LOCAL DEFAULT +10 bl8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG3
+ +[0-9]+: 0000001c +0 TLS +GLOBAL DEFAULT +9 sg8
+ +[0-9]+: 0000007c +0 TLS +GLOBAL DEFAULT +10 bg8
+ +[0-9]+: 00000074 +0 TLS +GLOBAL DEFAULT +10 bg6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG5
+ +[0-9]+: 00000068 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: 0+804a060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+ +[0-9]+: 00000008 +0 TLS +GLOBAL DEFAULT +9 sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG7
+ +[0-9]+: 00000048 +0 TLS +GLOBAL HIDDEN +9 sh3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
+ +[0-9]+: 0000000c +0 TLS +GLOBAL DEFAULT +9 sg4
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG4
+ +[0-9]+: 00000010 +0 TLS +GLOBAL DEFAULT +9 sg5
+ +[0-9]+: 00000070 +0 TLS +GLOBAL DEFAULT +10 bg5
+ +[0-9]+: 00000058 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0000005c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: 0+8049178 +0 FUNC +GLOBAL DEFAULT +8 _start
+ +[0-9]+: 0000004c +0 TLS +GLOBAL HIDDEN +9 sh4
+ +[0-9]+: 00000078 +0 TLS +GLOBAL DEFAULT +10 bg7
+ +[0-9]+: 00000050 +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+8049000 +0 FUNC +GLOBAL DEFAULT +8 fn2
+ +[0-9]+: 00000004 +0 TLS +GLOBAL DEFAULT +9 sg2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG1
+ +[0-9]+: 00000040 +0 TLS +GLOBAL HIDDEN +9 sh1
+ +[0-9]+: 00000014 +0 TLS +GLOBAL DEFAULT +9 sg6
+ +[0-9]+: 00000018 +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]+: 00000044 +0 TLS +GLOBAL HIDDEN +9 sh2
+ +[0-9]+: 00000054 +0 TLS +GLOBAL HIDDEN +9 sh6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG8
+ +[0-9]+: 00000064 +0 TLS +GLOBAL DEFAULT +10 bg2
+ +[0-9]+: 00000060 +0 TLS +GLOBAL DEFAULT +10 bg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND ___tls_get_addr
+ +[0-9]+: 0000006c +0 TLS +GLOBAL DEFAULT +10 bg4
--- ld/testsuite/ld-i386/tlsbinpic.s.jj 2002-10-02 19:17:20.000000000 +0200
+++ ld/testsuite/ld-i386/tlsbinpic.s 2004-01-15 18:07:34.000000000 +0100
@@ -1,8 +1,7 @@
/* Force .got aligned to 4K, so it very likely gets at 0x804a100
(0x60 bytes .tdata and 0xa0 bytes .dynamic) */
- .data
- .balign 4096
.section ".tdata", "awT", @progbits
+ .balign 4096
.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
--- ld/testsuite/ld-i386/tlsbin.dd.jj 2002-10-02 19:17:20.000000000 +0200
+++ ld/testsuite/ld-i386/tlsbin.dd 2004-01-15 21:22:09.000000000 +0100
@@ -25,14 +25,14 @@ Disassembly of section .text:
8049004: 50[ ]+push %eax
8049005: e8 00 00 00 00[ ]+call 804900a <fn2\+0xa>
804900a: 5b[ ]+pop %ebx
- 804900b: 81 c3 f6 10 00 00[ ]+add \$0x10f6,%ebx
+ 804900b: 81 c3 1a 11 00 00[ ]+add \$0x111a,%ebx
8049011: 90[ ]+nop *
8049012: 90[ ]+nop *
8049013: 90[ ]+nop *
8049014: 90[ ]+nop *
# GD -> IE because variable is not defined in executable
8049015: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804901b: 2b 83 2c 00 00 00[ ]+sub 0x2c\(%ebx\),%eax
+ 804901b: 2b 83 f8 ff ff ff[ ]+sub 0xfffffff8\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sG1
8049021: 90[ ]+nop *
8049022: 90[ ]+nop *
@@ -41,7 +41,7 @@ Disassembly of section .text:
# GD -> IE because variable is not defined in executable where
# the variable is referenced through @gottpoff too
8049025: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804902b: 2b 83 1c 00 00 00[ ]+sub 0x1c\(%ebx\),%eax
+ 804902b: 2b 83 e8 ff ff ff[ ]+sub 0xffffffe8\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sG2
8049031: 90[ ]+nop *
8049032: 90[ ]+nop *
@@ -50,7 +50,7 @@ Disassembly of section .text:
# GD -> IE because variable is not defined in executable where
# the variable is referenced through @gotntpoff too
8049035: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804903b: 2b 83 10 00 00 00[ ]+sub 0x10\(%ebx\),%eax
+ 804903b: 2b 83 dc ff ff ff[ ]+sub 0xffffffdc\(%ebx\),%eax
# ->R_386_TLS_TPOFF sG3
8049041: 90[ ]+nop *
8049042: 90[ ]+nop *
@@ -59,7 +59,7 @@ Disassembly of section .text:
# GD -> IE because variable is not defined in executable where
# the variable is referenced through @gottpoff and @gotntpoff too
8049045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804904b: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+ 804904b: 2b 83 ec ff ff ff[ ]+sub 0xffffffec\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sG4
8049051: 90[ ]+nop *
8049052: 90[ ]+nop *
@@ -67,7 +67,7 @@ Disassembly of section .text:
8049054: 90[ ]+nop *
# GD -> LE with global variable defined in executable
8049055: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804905b: 81 e8 a0 00 00 00[ ]+sub \$0xa0,%eax
+ 804905b: 81 e8 00 10 00 00[ ]+sub \$0x1000,%eax
# sg1
8049061: 90[ ]+nop *
8049062: 90[ ]+nop *
@@ -75,7 +75,7 @@ Disassembly of section .text:
8049064: 90[ ]+nop *
# GD -> LE with local variable defined in executable
8049065: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804906b: 81 e8 80 00 00 00[ ]+sub \$0x80,%eax
+ 804906b: 81 e8 e0 0f 00 00[ ]+sub \$0xfe0,%eax
# sl1
8049071: 90[ ]+nop *
8049072: 90[ ]+nop *
@@ -83,7 +83,7 @@ Disassembly of section .text:
8049074: 90[ ]+nop *
# GD -> LE with hidden variable defined in executable
8049075: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
- 804907b: 81 e8 60 00 00 00[ ]+sub \$0x60,%eax
+ 804907b: 81 e8 c0 0f 00 00[ ]+sub \$0xfc0,%eax
# sh1
8049081: 90[ ]+nop *
8049082: 90[ ]+nop *
@@ -95,11 +95,11 @@ Disassembly of section .text:
804908c: 8d 74 26 00[ ]+lea 0x0\(%esi,1\),%esi
8049090: 90[ ]+nop *
8049091: 90[ ]+nop *
- 8049092: 8d 90 80 ff ff ff[ ]+lea 0xffffff80\(%eax\),%edx
+ 8049092: 8d 90 20 f0 ff ff[ ]+lea 0xfffff020\(%eax\),%edx
# sl1
8049098: 90[ ]+nop *
8049099: 90[ ]+nop *
- 804909a: 8d 88 84 ff ff ff[ ]+lea 0xffffff84\(%eax\),%ecx
+ 804909a: 8d 88 24 f0 ff ff[ ]+lea 0xfffff024\(%eax\),%ecx
# sl2
80490a0: 90[ ]+nop *
80490a1: 90[ ]+nop *
@@ -111,21 +111,21 @@ Disassembly of section .text:
80490ab: 8d 74 26 00[ ]+lea 0x0\(%esi,1\),%esi
80490af: 90[ ]+nop *
80490b0: 90[ ]+nop *
- 80490b1: 8d 90 a0 ff ff ff[ ]+lea 0xffffffa0\(%eax\),%edx
+ 80490b1: 8d 90 40 f0 ff ff[ ]+lea 0xfffff040\(%eax\),%edx
# sh1
80490b7: 90[ ]+nop *
80490b8: 90[ ]+nop *
- 80490b9: 8d 88 a4 ff ff ff[ ]+lea 0xffffffa4\(%eax\),%ecx
+ 80490b9: 8d 88 44 f0 ff ff[ ]+lea 0xfffff044\(%eax\),%ecx
# sh2
80490bf: 90[ ]+nop *
80490c0: 90[ ]+nop *
80490c1: 90[ ]+nop *
80490c2: 90[ ]+nop *
# @gottpoff IE against global var
- 80490c3: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 80490c3: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
80490ca: 90[ ]+nop *
80490cb: 90[ ]+nop *
- 80490cc: 2b 8b 1c 00 00 00[ ]+sub 0x1c\(%ebx\),%ecx
+ 80490cc: 2b 8b e8 ff ff ff[ ]+sub 0xffffffe8\(%ebx\),%ecx
# ->R_386_TLS_TPOFF32 sG2
80490d2: 90[ ]+nop *
80490d3: 90[ ]+nop *
@@ -135,17 +135,17 @@ Disassembly of section .text:
80490d6: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
80490dc: 90[ ]+nop *
80490dd: 90[ ]+nop *
- 80490de: 2b 83 20 00 00 00[ ]+sub 0x20\(%ebx\),%eax
+ 80490de: 2b 83 ec ff ff ff[ ]+sub 0xffffffec\(%ebx\),%eax
# ->R_386_TLS_TPOFF32 sG4
80490e4: 90[ ]+nop *
80490e5: 90[ ]+nop *
80490e6: 90[ ]+nop *
80490e7: 90[ ]+nop *
# @gotntpoff IE against global var
- 80490e8: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 80490e8: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
80490ef: 90[ ]+nop *
80490f0: 90[ ]+nop *
- 80490f1: 03 8b 10 00 00 00[ ]+add 0x10\(%ebx\),%ecx
+ 80490f1: 03 8b dc ff ff ff[ ]+add 0xffffffdc\(%ebx\),%ecx
# ->R_386_TLS_TPOFF sG3
80490f7: 90[ ]+nop *
80490f8: 90[ ]+nop *
@@ -155,37 +155,37 @@ Disassembly of section .text:
80490fb: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
8049101: 90[ ]+nop *
8049102: 90[ ]+nop *
- 8049103: 03 83 24 00 00 00[ ]+add 0x24\(%ebx\),%eax
+ 8049103: 03 83 f0 ff ff ff[ ]+add 0xfffffff0\(%ebx\),%eax
# ->R_386_TLS_TPOFF sG4
8049109: 90[ ]+nop *
804910a: 90[ ]+nop *
804910b: 90[ ]+nop *
804910c: 90[ ]+nop *
# @gottpoff IE -> LE against global var defined in exec
- 804910d: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 804910d: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
8049114: 90[ ]+nop *
8049115: 90[ ]+nop *
- 8049116: 81 e9 a0 00 00 00[ ]+sub \$0xa0,%ecx
+ 8049116: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx
# sg1
804911c: 90[ ]+nop *
804911d: 90[ ]+nop *
804911e: 90[ ]+nop *
804911f: 90[ ]+nop *
# @gotntpoff IE -> LE against local var
- 8049120: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 8049120: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
8049127: 90[ ]+nop *
8049128: 90[ ]+nop *
- 8049129: 81 c0 80 ff ff ff[ ]+add \$0xffffff80,%eax
+ 8049129: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax
# sl1
804912f: 90[ ]+nop *
8049130: 90[ ]+nop *
8049131: 90[ ]+nop *
8049132: 90[ ]+nop *
# @gottpoff IE -> LE against hidden var
- 8049133: 65 8b 0d 00 00 00 00 mov %gs:0x0,%ecx
+ 8049133: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx
804913a: 90[ ]+nop *
804913b: 90[ ]+nop *
- 804913c: 81 e9 60 00 00 00[ ]+sub \$0x60,%ecx
+ 804913c: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx
# sh1
8049142: 90[ ]+nop *
8049143: 90[ ]+nop *
@@ -193,7 +193,7 @@ Disassembly of section .text:
8049145: 90[ ]+nop *
# Direct access through %gs
# @gotntpoff IE against global var
- 8049146: 8b 8b 14 00 00 00[ ]+mov 0x14\(%ebx\),%ecx
+ 8049146: 8b 8b e0 ff ff ff[ ]+mov 0xffffffe0\(%ebx\),%ecx
# ->R_386_TLS_TPOFF sG5
804914c: 90[ ]+nop *
804914d: 90[ ]+nop *
@@ -203,7 +203,7 @@ Disassembly of section .text:
8049153: 90[ ]+nop *
8049154: 90[ ]+nop *
# @gotntpoff IE->LE against local var
- 8049155: c7 c0 90 ff ff ff[ ]+mov \$0xffffff90,%eax
+ 8049155: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax
# sl5
804915b: 90[ ]+nop *
804915c: 90[ ]+nop *
@@ -213,7 +213,7 @@ Disassembly of section .text:
8049162: 90[ ]+nop *
8049163: 90[ ]+nop *
# @gotntpoff IE->LE against hidden var
- 8049164: c7 c2 b0 ff ff ff[ ]+mov \$0xffffffb0,%edx
+ 8049164: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx
# sh5
804916a: 90[ ]+nop *
804916b: 90[ ]+nop *
@@ -226,21 +226,21 @@ Disassembly of section .text:
8049176: c9[ ]+leave *
8049177: c3[ ]+ret *
-08049178 <_start>:
+0+8049178 <_start>:
8049178: 55[ ]+push %ebp
8049179: 89 e5[ ]+mov %esp,%ebp
804917b: e8 00 00 00 00[ ]+call 8049180 <_start\+0x8>
8049180: 59[ ]+pop %ecx
- 8049181: 81 c1 80 0f 00 00[ ]+add \$0xf80,%ecx
+ 8049181: 81 c1 a4 0f 00 00[ ]+add \$0xfa4,%ecx
8049187: 90[ ]+nop *
8049188: 90[ ]+nop *
8049189: 90[ ]+nop *
804918a: 90[ ]+nop *
# @gottpoff IE against global var
- 804918b: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 804918b: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
8049192: 90[ ]+nop *
8049193: 90[ ]+nop *
- 8049194: 2b 91 28 00 00 00[ ]+sub 0x28\(%ecx\),%edx
+ 8049194: 2b 91 f4 ff ff ff[ ]+sub 0xfffffff4\(%ecx\),%edx
# ->R_386_TLS_TPOFF32 sG6
804919a: 90[ ]+nop *
804919b: 90[ ]+nop *
@@ -250,14 +250,14 @@ Disassembly of section .text:
804919e: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
80491a4: 90[ ]+nop *
80491a5: 90[ ]+nop *
- 80491a6: 03 05 18 a1 04 08[ ]+add 0x804a118,%eax
+ 80491a6: 03 05 08 a1 04 08[ ]+add 0x804a108,%eax
# ->R_386_TLS_TPOFF sG7
80491ac: 90[ ]+nop *
80491ad: 90[ ]+nop *
80491ae: 90[ ]+nop *
80491af: 90[ ]+nop *
# @indntpoff direct %gs access IE against global var
- 80491b0: 8b 15 30 a1 04 08[ ]+mov 0x804a130,%edx
+ 80491b0: 8b 15 20 a1 04 08[ ]+mov 0x804a120,%edx
# ->R_386_TLS_TPOFF sG8
80491b6: 90[ ]+nop *
80491b7: 90[ ]+nop *
@@ -267,10 +267,10 @@ Disassembly of section .text:
80491bd: 90[ ]+nop *
80491be: 90[ ]+nop *
# @gottpoff IE -> LE against global var defined in exec
- 80491bf: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80491bf: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
80491c6: 90[ ]+nop *
80491c7: 90[ ]+nop *
- 80491c8: 81 ea 2c 00 00 00[ ]+sub \$0x2c,%edx
+ 80491c8: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx
# bg6
80491ce: 90[ ]+nop *
80491cf: 90[ ]+nop *
@@ -280,7 +280,7 @@ Disassembly of section .text:
80491d2: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
80491d8: 90[ ]+nop *
80491d9: 90[ ]+nop *
- 80491da: 81 c0 d8 ff ff ff[ ]+add \$0xffffffd8,%eax
+ 80491da: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax
# bg7
80491e0: 90[ ]+nop *
80491e1: 90[ ]+nop *
@@ -288,7 +288,7 @@ Disassembly of section .text:
80491e3: 90[ ]+nop *
# @indntpoff direct %gs access IE -> LE against global var defined
# in exec
- 80491e4: c7 c2 dc ff ff ff[ ]+mov \$0xffffffdc,%edx
+ 80491e4: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx
# bg8
80491ea: 90[ ]+nop *
80491eb: 90[ ]+nop *
@@ -298,10 +298,10 @@ Disassembly of section .text:
80491f1: 90[ ]+nop *
80491f2: 90[ ]+nop *
# @gottpoff IE -> LE against local var
- 80491f3: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80491f3: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
80491fa: 90[ ]+nop *
80491fb: 90[ ]+nop *
- 80491fc: 81 ea 0c 00 00 00[ ]+sub \$0xc,%edx
+ 80491fc: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx
# bl6
8049202: 90[ ]+nop *
8049203: 90[ ]+nop *
@@ -311,14 +311,14 @@ Disassembly of section .text:
8049206: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
804920c: 90[ ]+nop *
804920d: 90[ ]+nop *
- 804920e: 81 c0 f8 ff ff ff[ ]+add \$0xfffffff8,%eax
+ 804920e: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax
# bl7
8049214: 90[ ]+nop *
8049215: 90[ ]+nop *
8049216: 90[ ]+nop *
8049217: 90[ ]+nop *
# @indntpoff direct %gs access IE -> LE against local var
- 8049218: c7 c2 fc ff ff ff[ ]+mov \$0xfffffffc,%edx
+ 8049218: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx
# bl8
804921e: 90[ ]+nop *
804921f: 90[ ]+nop *
@@ -328,10 +328,10 @@ Disassembly of section .text:
8049225: 90[ ]+nop *
8049226: 90[ ]+nop *
# @gottpoff IE -> LE against hidden but not local var
- 8049227: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 8049227: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
804922e: 90[ ]+nop *
804922f: 90[ ]+nop *
- 8049230: 81 ea 4c 00 00 00[ ]+sub \$0x4c,%edx
+ 8049230: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx
# sh6
8049236: 90[ ]+nop *
8049237: 90[ ]+nop *
@@ -341,7 +341,7 @@ Disassembly of section .text:
804923a: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
8049240: 90[ ]+nop *
8049241: 90[ ]+nop *
- 8049242: 81 c0 b8 ff ff ff[ ]+add \$0xffffffb8,%eax
+ 8049242: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax
# sh7
8049248: 90[ ]+nop *
8049249: 90[ ]+nop *
@@ -349,7 +349,7 @@ Disassembly of section .text:
804924b: 90[ ]+nop *
# @indntpoff direct %gs access IE -> LE against hidden but not
# local var
- 804924c: c7 c2 bc ff ff ff[ ]+mov \$0xffffffbc,%edx
+ 804924c: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx
# sh8
8049252: 90[ ]+nop *
8049253: 90[ ]+nop *
@@ -359,7 +359,7 @@ Disassembly of section .text:
8049259: 90[ ]+nop *
804925a: 90[ ]+nop *
# LE @tpoff, global var defined in exec
- 804925b: ba a0 00 00 00[ ]+mov \$0xa0,%edx
+ 804925b: ba 00 10 00 00[ ]+mov \$0x1000,%edx
# sg1
8049260: 90[ ]+nop *
8049261: 90[ ]+nop *
@@ -372,11 +372,11 @@ Disassembly of section .text:
804926e: 90[ ]+nop *
804926f: 90[ ]+nop *
# LE @tpoff, local var
- 8049270: b8 1f 00 00 00[ ]+mov \$0x1f,%eax
+ 8049270: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax
# bl1+1
8049275: 90[ ]+nop *
8049276: 90[ ]+nop *
- 8049277: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 8049277: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
804927e: 90[ ]+nop *
804927f: 90[ ]+nop *
8049280: 29 c2[ ]+sub %eax,%edx
@@ -385,11 +385,11 @@ Disassembly of section .text:
8049284: 90[ ]+nop *
8049285: 90[ ]+nop *
# LE @tpoff, hidden var defined in exec
- 8049286: b8 5d 00 00 00[ ]+mov \$0x5d,%eax
+ 8049286: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax
# sh1+3
804928b: 90[ ]+nop *
804928c: 90[ ]+nop *
- 804928d: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 804928d: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
8049294: 90[ ]+nop *
8049295: 90[ ]+nop *
8049296: 29 c2[ ]+sub %eax,%edx
@@ -401,18 +401,18 @@ Disassembly of section .text:
804929c: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
80492a2: 90[ ]+nop *
80492a3: 90[ ]+nop *
- 80492a4: 8d 90 64 ff ff ff[ ]+lea 0xffffff64\(%eax\),%edx
+ 80492a4: 8d 90 04 f0 ff ff[ ]+lea 0xfffff004\(%eax\),%edx
# sg2
80492aa: 90[ ]+nop *
80492ab: 90[ ]+nop *
80492ac: 90[ ]+nop *
80492ad: 90[ ]+nop *
# LE @ntpoff, local var, non-canonical sequence
- 80492ae: b8 e6 ff ff ff[ ]+mov \$0xffffffe6,%eax
+ 80492ae: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax
# bl2+2
80492b3: 90[ ]+nop *
80492b4: 90[ ]+nop *
- 80492b5: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80492b5: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
80492bc: 90[ ]+nop *
80492bd: 90[ ]+nop *
80492be: 01 c2[ ]+add %eax,%edx
@@ -421,31 +421,31 @@ Disassembly of section .text:
80492c2: 90[ ]+nop *
80492c3: 90[ ]+nop *
# LE @ntpoff, hidden var defined in exec, non-canonical sequence
- 80492c4: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx
+ 80492c4: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx
80492cb: 90[ ]+nop *
80492cc: 90[ ]+nop *
- 80492cd: 81 c2 a5 ff ff ff[ ]+add \$0xffffffa5,%edx
+ 80492cd: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx
# sh2+1
80492d3: 90[ ]+nop *
80492d4: 90[ ]+nop *
80492d5: 90[ ]+nop *
80492d6: 90[ ]+nop *
# LE @ntpoff, global var defined in exec
- 80492d7: 65 a1 68 ff ff ff[ ]+mov %gs:0xffffff68,%eax
+ 80492d7: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax
# sg3
80492dd: 90[ ]+nop *
80492de: 90[ ]+nop *
80492df: 90[ ]+nop *
80492e0: 90[ ]+nop *
# LE @ntpoff, local var
- 80492e1: 65 8b 15 eb ff ff ff mov %gs:0xffffffeb,%edx
+ 80492e1: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx
# bl3+3
80492e8: 90[ ]+nop *
80492e9: 90[ ]+nop *
80492ea: 90[ ]+nop *
80492eb: 90[ ]+nop *
# LE @ntpoff, hidden var defined in exec
- 80492ec: 65 8b 15 a9 ff ff ff mov %gs:0xffffffa9,%edx
+ 80492ec: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx
# sh3+1
80492f3: 90[ ]+nop *
80492f4: 90[ ]+nop *
--- ld/testsuite/ld-i386/tlsbin.sd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlsbin.sd 2004-01-15 23:28:22.000000000 +0100
@@ -10,5 +10,4 @@
Contents of section \.got:
804a100 [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .*
804a110 00000000 00000000 00000000 00000000 .*
- 804a120 00000000 00000000 00000000 00000000 .*
- 804a130 00000000 +.*
+ 804a120 00000000 +.*
--- ld/testsuite/ld-i386/tlsnopic.rd.jj 2002-12-16 21:22:53.000000000 +0100
+++ ld/testsuite/ld-i386/tlsnopic.rd 2004-01-16 12:16:13.000000000 +0100
@@ -5,7 +5,7 @@
#readelf: -Ssrl
#target: i?86-*-*
-There are 14 section headers, starting at offset 0x[0-9a-f]+:
+There are 16 section headers, starting at offset 0x[0-9a-f]+:
Section Headers:
\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -15,14 +15,16 @@ Section Headers:
\[ 3\] \.dynstr +.*
\[ 4\] \.rel.dyn +.*
\[ 5\] \.text +PROGBITS +0+1000 .*
- \[ 6\] \.data +.*
- \[ 7\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT 0 0 1
+ \[ 6\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT 0 0 1
+ \[ 7\] \.data.rel.ro +PROGBITS +.*
\[ 8\] \.dynamic +DYNAMIC +0+2000 .*
\[ 9\] \.got +PROGBITS +0+2080 .*
- \[10\] \.bss +.*
- \[11\] \.shstrtab +.*
- \[12\] \.symtab +.*
- \[13\] \.strtab +.*
+ \[10\] \.got.plt +PROGBITS +0+2098 .*
+ \[11\] \.data +.*
+ \[12\] \.bss +.*
+ \[13\] \.shstrtab +.*
+ \[14\] \.symtab +.*
+ \[15\] \.strtab +.*
Key to Flags:
.*
.*
@@ -42,7 +44,7 @@ Program Headers:
Section to Segment mapping:
Segment Sections...
00 +.hash .dynsym .dynstr .rel.dyn .text *
- 01 +.tbss .dynamic .got *
+ 01 +.tbss .dynamic .got .got.plt *
02 +.tbss .dynamic *
03 +.tbss *
@@ -54,80 +56,77 @@ Relocation section '.rel.dyn' at offset
0+1038 0+8 R_386_RELATIVE +
0+104f 0+8 R_386_RELATIVE +
0+1059 0+8 R_386_RELATIVE +
-0+1067 0+c25 R_386_TLS_TPOFF32 0+ sg3
+0+1067 0+725 R_386_TLS_TPOFF32 0+ sg3
0+107c 0+25 R_386_TLS_TPOFF32
0+10a4 0+e R_386_TLS_TPOFF +
0+10c4 0+e R_386_TLS_TPOFF +
0+10d9 0+e R_386_TLS_TPOFF +
0+10e4 0+e R_386_TLS_TPOFF +
-0+208c 0+e R_386_TLS_TPOFF +
+0+2080 0+e R_386_TLS_TPOFF +
+0+2084 0+e R_386_TLS_TPOFF +
0+2090 0+e R_386_TLS_TPOFF +
-0+209c 0+e R_386_TLS_TPOFF +
-0+20a0 0+e R_386_TLS_TPOFF +
-0+109b 0+d0e R_386_TLS_TPOFF 0+ sg4
-0+10ce 0+f0e R_386_TLS_TPOFF 0+ sg5
-0+2094 0+100e R_386_TLS_TPOFF 0+ sg1
-0+2098 0+120e R_386_TLS_TPOFF 0+ sg2
+0+2094 0+e R_386_TLS_TPOFF +
+0+109b 0+80e R_386_TLS_TPOFF 0+ sg4
+0+10ce 0+a0e R_386_TLS_TPOFF 0+ sg5
+0+2088 0+b0e R_386_TLS_TPOFF 0+ sg1
+0+208c 0+d0e R_386_TLS_TPOFF 0+ sg2
-Symbol table '.dynsym' contains 22 entries:
+Symbol table '.dynsym' contains 17 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 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +12: 0+ +0 TLS +GLOBAL DEFAULT UND sg3
- +13: 0+ +0 TLS +GLOBAL DEFAULT UND sg4
- +14: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
- +15: 0+ +0 TLS +GLOBAL DEFAULT UND sg5
- +16: 0+ +0 TLS +GLOBAL DEFAULT UND sg1
- +17: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +18: 0+ +0 TLS +GLOBAL DEFAULT UND sg2
- +19: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +20: 0+2080 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +21: [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 +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 +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg4
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg2
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
+ +[0-9]+: 0+2098 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
-Symbol table '.symtab' contains 34 entries:
+Symbol table '.symtab' contains 36 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+00 +0 TLS +LOCAL DEFAULT +7 bl1
- +15: 0+04 +0 TLS +LOCAL DEFAULT +7 bl2
- +16: 0+08 +0 TLS +LOCAL DEFAULT +7 bl3
- +17: 0+0c +0 TLS +LOCAL DEFAULT +7 bl4
- +18: 0+10 +0 TLS +LOCAL DEFAULT +7 bl5
- +19: 0+1c +0 TLS +LOCAL HIDDEN +7 sh3
- +20: 0+20 +0 TLS +LOCAL HIDDEN +7 sh4
- +21: 0+14 +0 TLS +LOCAL HIDDEN +7 sh1
- +22: 0+18 +0 TLS +LOCAL HIDDEN +7 sh2
- +23: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +24: 0+ +0 TLS +GLOBAL DEFAULT UND sg3
- +25: 0+ +0 TLS +GLOBAL DEFAULT UND sg4
- +26: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
- +27: 0+ +0 TLS +GLOBAL DEFAULT UND sg5
- +28: 0+ +0 TLS +GLOBAL DEFAULT UND sg1
- +29: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +30: 0+ +0 TLS +GLOBAL DEFAULT UND sg2
- +31: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +32: 0+2080 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +33: [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+00 +0 TLS +LOCAL DEFAULT +6 bl1
+ +[0-9]+: 0+04 +0 TLS +LOCAL DEFAULT +6 bl2
+ +[0-9]+: 0+08 +0 TLS +LOCAL DEFAULT +6 bl3
+ +[0-9]+: 0+0c +0 TLS +LOCAL DEFAULT +6 bl4
+ +[0-9]+: 0+10 +0 TLS +LOCAL DEFAULT +6 bl5
+ +[0-9]+: 0+1c +0 TLS +LOCAL HIDDEN +6 sh3
+ +[0-9]+: 0+20 +0 TLS +LOCAL HIDDEN +6 sh4
+ +[0-9]+: 0+14 +0 TLS +LOCAL HIDDEN +6 sh1
+ +[0-9]+: 0+18 +0 TLS +LOCAL HIDDEN +6 sh2
+ +[0-9]+: [0-9a-f]+ +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg4
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sg2
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
+ +[0-9]+: 0+2098 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
--- ld/testsuite/ld-i386/tlsnopic1.s.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlsnopic1.s 2004-01-15 23:38:25.000000000 +0100
@@ -1,4 +1,4 @@
- .data
+ .section ".data.rel.ro", "aw", @progbits
/* Align, so that .got is likely at address 0x2080. */
.balign 4096
.section ".tbss", "awT", @nobits
--- ld/testsuite/ld-i386/combreloc.d.jj 2002-10-10 18:16:57.000000000 +0200
+++ ld/testsuite/ld-i386/combreloc.d 2004-01-16 12:19:24.000000000 +0100
@@ -8,10 +8,10 @@
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
Offset Info Type Sym.Value Sym. Name
+[0-9a-f]+ [0-9a-f]+06 R_386_GLOB_DAT [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
-[0-9a-f]+ [0-9a-f]+06 R_386_GLOB_DAT [0-9a-f]+ _start
Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym.Value Sym. Name
--- ld/testsuite/ld-i386/tlsnopic.dd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlsnopic.dd 2004-01-16 12:24:47.000000000 +0100
@@ -16,14 +16,14 @@ Disassembly of section .text:
1003: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
1009: 90[ ]+nop *
100a: 90[ ]+nop *
- 100b: 03 05 94 20 00 00[ ]+add 0x2094,%eax
+ 100b: 03 05 88 20 00 00[ ]+add 0x2088,%eax
# ->R_386_TLS_TPOFF sg1
1011: 90[ ]+nop *
1012: 90[ ]+nop *
1013: 90[ ]+nop *
1014: 90[ ]+nop *
# @indntpoff direct %gs access IE against global var
- 1015: 8b 15 98 20 00 00[ ]+mov 0x2098,%edx
+ 1015: 8b 15 8c 20 00 00[ ]+mov 0x208c,%edx
# ->R_386_TLS_TPOFF sg2
101b: 90[ ]+nop *
101c: 90[ ]+nop *
@@ -36,14 +36,14 @@ Disassembly of section .text:
1024: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
102a: 90[ ]+nop *
102b: 90[ ]+nop *
- 102c: 03 05 9c 20 00 00[ ]+add 0x209c,%eax
+ 102c: 03 05 90 20 00 00[ ]+add 0x2090,%eax
# ->R_386_TLS_TPOFF [0x14000000]
1032: 90[ ]+nop *
1033: 90[ ]+nop *
1034: 90[ ]+nop *
1035: 90[ ]+nop *
# @indntpoff direct %gs access IE against hidden var
- 1036: 8b 15 a0 20 00 00[ ]+mov 0x20a0,%edx
+ 1036: 8b 15 94 20 00 00[ ]+mov 0x2094,%edx
# ->R_386_TLS_TPOFF [0x18000000]
103c: 90[ ]+nop *
103d: 90[ ]+nop *
@@ -56,14 +56,14 @@ Disassembly of section .text:
1045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax
104b: 90[ ]+nop *
104c: 90[ ]+nop *
- 104d: 03 05 8c 20 00 00[ ]+add 0x208c,%eax
+ 104d: 03 05 80 20 00 00[ ]+add 0x2080,%eax
# ->R_386_TLS_TPOFF [0x00000000]
1053: 90[ ]+nop *
1054: 90[ ]+nop *
1055: 90[ ]+nop *
1056: 90[ ]+nop *
# @indntpoff direct %gs access IE against local var
- 1057: 8b 15 90 20 00 00[ ]+mov 0x2090,%edx
+ 1057: 8b 15 84 20 00 00[ ]+mov 0x2084,%edx
# ->R_386_TLS_TPOFF [0x04000000]
105d: 90[ ]+nop *
105e: 90[ ]+nop *
--- ld/testsuite/ld-i386/tlsnopic.sd.jj 2002-09-27 17:33:09.000000000 +0200
+++ ld/testsuite/ld-i386/tlsnopic.sd 2004-01-16 12:29:52.000000000 +0100
@@ -8,6 +8,5 @@
.*: file format elf32-i386
Contents of section \.got:
- 2080 [0-9a-f]+ 00000000 00000000 00000000 .*
- 2090 04000000 00000000 00000000 14000000 .*
- 20a0 18000000 +.*
+ 2080 00000000 04000000 00000000 00000000 .*
+ 2090 14000000 18000000 +.*
--- ld/testsuite/ld-x86-64/tlspic.rd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlspic.rd 2004-01-16 10:15:09.000000000 -0500
@@ -5,7 +5,7 @@
#readelf: -WSsrl
#target: x86_64-*-*
-There are 17 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,15 +17,16 @@ Section Headers:
\[ 5\] .rela.plt +.*
\[ 6\] .plt +.*
\[ 7\] .text +PROGBITS +0+1000 0+1000 0+1ac 00 +AX +0 +0 4096
- \[ 8\] .data +.*
- \[ 9\] .tdata +PROGBITS +0+102000 0+2000 0+60 00 WAT +0 +0 +1
- \[10\] .tbss +NOBITS +0+102060 0+2060 0+20 00 WAT +0 +0 +1
- \[11\] .dynamic +DYNAMIC +0+102060 0+2060 0+130 10 +WA +3 +0 +8
- \[12\] .got +PROGBITS +0+102190 0+2190 0+b0 08 +WA +0 +0 +8
- \[13\] .bss +.*
- \[14\] .shstrtab +.*
- \[15\] .symtab +.*
- \[16\] .strtab +.*
+ \[ 8\] .tdata +PROGBITS +0+1011ac 0+11ac 0+60 00 WAT +0 +0 +1
+ \[ 9\] .tbss +NOBITS +0+10120c 0+120c 0+20 00 WAT +0 +0 +1
+ \[10\] .dynamic +DYNAMIC +0+101210 0+1210 0+130 10 +WA +3 +0 +8
+ \[11\] .got +PROGBITS +0+101340 0+1340 0+90 08 +WA +0 +0 +8
+ \[12\] .got.plt +PROGBITS +0+1013d0 0+13d0 0+20 08 +WA +0 +0 +8
+ \[13\] .data +.*
+ \[14\] .bss +.*
+ \[15\] .shstrtab +.*
+ \[16\] .symtab +.*
+ \[17\] .strtab +.*
Key to Flags:
.*
.*
@@ -38,125 +39,118 @@ There are 4 program headers, starting at
Program Headers:
Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x100000
- LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+240 0x0+240 RW +0x100000
- DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
- TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x1
+ LOAD +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+e54 0x0+e54 RW +0x100000
+ DYNAMIC +0x0+1210 0x0+101210 0x0+101210 0x0+130 0x0+130 RW +0x8
+ TLS +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+60 0x0+80 R +0x1
Section to Segment mapping:
Segment Sections...
00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
- 01 +.tdata .tbss .dynamic .got *
- 02 +.tbss .dynamic *
+ 01 +.tdata .tbss .dynamic .got .got.plt *
+ 02 +.dynamic *
03 +.tdata .tbss *
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
+Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+1021b0 0+10 R_X86_64_DTPMOD64 +0+
-0+1021c0 0+12 R_X86_64_TPOFF64 +0+24
-0+1021c8 0+12 R_X86_64_TPOFF64 +0+30
-0+1021d0 0+10 R_X86_64_DTPMOD64 +0+
-0+1021e0 0+10 R_X86_64_DTPMOD64 +0+
-0+1021f0 0+12 R_X86_64_TPOFF64 +0+64
-0+102210 0+12 R_X86_64_TPOFF64 +0+50
-0+102218 0+12 R_X86_64_TPOFF64 +0+70
-0+102228 0+10 R_X86_64_DTPMOD64 +0+
-0+102238 0+12 R_X86_64_TPOFF64 +0+44
-0+1021f8 0+1200000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0
-0+102200 0+1400000010 R_X86_64_DTPMOD64 +0+ sg1 \+ 0
-0+102208 0+1400000011 R_X86_64_DTPOFF64 +0+ sg1 \+ 0
-0+102220 0+1700000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0
+0+101340 0+10 R_X86_64_DTPMOD64 +0+
+0+101350 0+12 R_X86_64_TPOFF64 +0+24
+0+101358 0+12 R_X86_64_TPOFF64 +0+30
+0+101360 0+10 R_X86_64_DTPMOD64 +0+
+0+101370 0+10 R_X86_64_DTPMOD64 +0+
+0+101380 0+12 R_X86_64_TPOFF64 +0+64
+0+1013a0 0+12 R_X86_64_TPOFF64 +0+50
+0+1013a8 0+12 R_X86_64_TPOFF64 +0+70
+0+1013b8 0+10 R_X86_64_DTPMOD64 +0+
+0+1013c8 0+12 R_X86_64_TPOFF64 +0+44
+0+101388 0+a00000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0
+0+101390 0+c00000010 R_X86_64_DTPMOD64 +0+ sg1 \+ 0
+0+101398 0+c00000011 R_X86_64_DTPOFF64 +0+ sg1 \+ 0
+0+1013b0 0+f00000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0
-Relocation section '.rela.plt' at offset 0x658 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+[0-9a-f]+ 0+1300000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
+0+[0-9a-f]+ 0+b00000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
-Symbol table '.dynsym' contains 29 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+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +15: 0+102060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +16: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +17: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +18: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +19: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_addr
- +20: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +21: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
- +22: 0+102240 +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +23: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +24: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +25: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +26: 0+102240 +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +27: 0+102190 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +28: 0+102240 +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 +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL DEFAULT +14 *
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: 0+101210 +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_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: 0+1000 +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+1013d0 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
-Symbol table '.symtab' contains 56 entries:
+Symbol table '.symtab' contains 57 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+20 +0 TLS +LOCAL DEFAULT +9 sl1
- +18: 0+24 +0 TLS +LOCAL DEFAULT +9 sl2
- +19: 0+28 +0 TLS +LOCAL DEFAULT +9 sl3
- +20: 0+2c +0 TLS +LOCAL DEFAULT +9 sl4
- +21: 0+30 +0 TLS +LOCAL DEFAULT +9 sl5
- +22: 0+34 +0 TLS +LOCAL DEFAULT +9 sl6
- +23: 0+38 +0 TLS +LOCAL DEFAULT +9 sl7
- +24: 0+3c +0 TLS +LOCAL DEFAULT +9 sl8
- +25: 0+60 +0 TLS +LOCAL HIDDEN +10 sH1
- +26: 0+48 +0 TLS +LOCAL HIDDEN +9 sh3
- +27: 0+64 +0 TLS +LOCAL HIDDEN +10 sH2
- +28: 0+78 +0 TLS +LOCAL HIDDEN +10 sH7
- +29: 0+58 +0 TLS +LOCAL HIDDEN +9 sh7
- +30: 0+5c +0 TLS +LOCAL HIDDEN +9 sh8
- +31: 0+6c +0 TLS +LOCAL HIDDEN +10 sH4
- +32: 0+4c +0 TLS +LOCAL HIDDEN +9 sh4
- +33: 0+68 +0 TLS +LOCAL HIDDEN +10 sH3
- +34: 0+50 +0 TLS +LOCAL HIDDEN +9 sh5
- +35: 0+70 +0 TLS +LOCAL HIDDEN +10 sH5
- +36: 0+74 +0 TLS +LOCAL HIDDEN +10 sH6
- +37: 0+7c +0 TLS +LOCAL HIDDEN +10 sH8
- +38: 0+40 +0 TLS +LOCAL HIDDEN +9 sh1
- +39: 0+44 +0 TLS +LOCAL HIDDEN +9 sh2
- +40: 0+54 +0 TLS +LOCAL HIDDEN +9 sh6
- +41: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +42: 0+102060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +43: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +44: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +46: 0+ +0 NOTYPE GLOBAL DEFAULT UND __tls_get_addr
- +47: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +48: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
- +49: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +50: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +51: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +52: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +53: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +54: 0+102190 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +55: [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-9a-f]+ +0 SECTION LOCAL DEFAULT +17 *
+ +[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+101210 +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_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: 0+1000 +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+1013d0 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
--- ld/testsuite/ld-x86-64/tlspic.dd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlspic.dd 2004-01-16 08:50:04.000000000 -0500
@@ -17,12 +17,12 @@ Disassembly of section .text:
+1006: 90[ ]+nop *
+1007: 90[ ]+nop *
# GD
- +1008: 66 48 8d 3d f0 11 10[ ]+lea 1053168\(%rip\),%rdi +# 102200 <_GLOBAL_OFFSET_TABLE_\+0x70>
+ +1008: 66 48 8d 3d 80 03 10[ ]+lea 1049472\(%rip\),%rdi +# 101390 <.*>
+100f: 00 *
# -> R_X86_64_DTPMOD64 sg1
+1010: 66[ ]+data16
+1011: 66[ ]+data16
- +1012: 48 e8 68 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
+ +1012: 48 e8 88 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1018: 90[ ]+nop *
+1019: 90[ ]+nop *
@@ -31,19 +31,19 @@ Disassembly of section .text:
# GD -> IE because variable is referenced through IE too
+101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+1023: 00 00 *
- +1025: 48 03 05 f4 11 10 00[ ]+add 1053172\(%rip\),%rax +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90>
+ +1025: 48 03 05 84 03 10 00[ ]+add 1049476\(%rip\),%rax +# 1013b0 <.*>
# -> R_X86_64_TPOFF64 sg2
+102c: 90[ ]+nop *
+102d: 90[ ]+nop *
+102e: 90[ ]+nop *
+102f: 90[ ]+nop *
# GD against local variable
- +1030: 66 48 8d 3d 78 11 10[ ]+lea 1053048\(%rip\),%rdi +# 1021b0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+ +1030: 66 48 8d 3d 08 03 10[ ]+lea 1049352\(%rip\),%rdi +# 101340 <.*>
+1037: 00 *
# -> R_X86_64_DTPMOD64 [0 0x2000000000000000]
+1038: 66[ ]+data16
+1039: 66[ ]+data16
- +103a: 48 e8 40 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
+ +103a: 48 e8 60 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1040: 90[ ]+nop *
+1041: 90[ ]+nop *
@@ -52,19 +52,19 @@ Disassembly of section .text:
# GD -> IE against local variable referenced through IE too
+1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+104b: 00 00 *
- +104d: 48 03 05 6c 11 10 00[ ]+add 1053036\(%rip\),%rax +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +104d: 48 03 05 fc 02 10 00[ ]+add 1049340\(%rip\),%rax +# 101350 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x24
+1054: 90[ ]+nop *
+1055: 90[ ]+nop *
+1056: 90[ ]+nop *
+1057: 90[ ]+nop *
# GD against hidden and local variable
- +1058: 66 48 8d 3d c8 11 10[ ]+lea 1053128\(%rip\),%rdi +# 102228 <_GLOBAL_OFFSET_TABLE_\+0x98>
+ +1058: 66 48 8d 3d 58 03 10[ ]+lea 1049432\(%rip\),%rdi +# 1013b8 <.*>
+105f: 00 *
# -> R_X86_64_DTPMOD64 [0 0x4000000000000000]
+1060: 66[ ]+data16
+1061: 66[ ]+data16
- +1062: 48 e8 18 f6 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
+ +1062: 48 e8 38 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1068: 90[ ]+nop *
+1069: 90[ ]+nop *
@@ -73,19 +73,19 @@ Disassembly of section .text:
# GD -> IE against hidden and local variable referenced through IE too
+106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+1073: 00 00 *
- +1075: 48 03 05 bc 11 10 00[ ]+add 1053116\(%rip\),%rax +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8>
+ +1075: 48 03 05 4c 03 10 00[ ]+add 1049420\(%rip\),%rax +# 1013c8 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x44
+107c: 90[ ]+nop *
+107d: 90[ ]+nop *
+107e: 90[ ]+nop *
+107f: 90[ ]+nop *
# GD against hidden but not local variable
- +1080: 66 48 8d 3d 58 11 10[ ]+lea 1053016\(%rip\),%rdi +# 1021e0 <_GLOBAL_OFFSET_TABLE_\+0x50>
+ +1080: 66 48 8d 3d e8 02 10[ ]+lea 1049320\(%rip\),%rdi +# 101370 <.*>
+1087: 00 *
# -> R_X86_64_DTPMOD64 [0 0x6000000000000000]
+1088: 66[ ]+data16
+1089: 66[ ]+data16
- +108a: 48 e8 f0 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
+ +108a: 48 e8 10 f5 ff ff[ ]+rex64 callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+1090: 90[ ]+nop *
+1091: 90[ ]+nop *
@@ -94,16 +94,16 @@ Disassembly of section .text:
# GD -> IE against hidden but not local variable referenced through IE too
+1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
+109b: 00 00 *
- +109d: 48 03 05 4c 11 10 00[ ]+add 1053004\(%rip\),%rax +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60>
+ +109d: 48 03 05 dc 02 10 00[ ]+add 1049308\(%rip\),%rax +# 101380 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x64
+10a4: 90[ ]+nop *
+10a5: 90[ ]+nop *
+10a6: 90[ ]+nop *
+10a7: 90[ ]+nop *
# LD
- +10a8: 48 8d 3d 21 11 10 00[ ]+lea 1052961\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10a8: 48 8d 3d b1 02 10 00[ ]+lea 1049265\(%rip\),%rdi +# 101360 <.*>
# -> R_X86_64_DTPMOD64 [0 0x000000000000000]
- +10af: e8 cc f5 ff ff[ ]+callq [0-9a-f]+ <.*>
+ +10af: e8 ec f4 ff ff[ ]+callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+10b4: 90[ ]+nop *
+10b5: 90[ ]+nop *
@@ -116,9 +116,9 @@ Disassembly of section .text:
+10c8: 90[ ]+nop *
+10c9: 90[ ]+nop *
# LD against hidden and local variables
- +10ca: 48 8d 3d ff 10 10 00[ ]+lea 1052927\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10ca: 48 8d 3d 8f 02 10 00[ ]+lea 1049231\(%rip\),%rdi +# 101360 <.*>
# -> R_X86_64_DTPMOD64 [0 0x000000000000000]
- +10d1: e8 aa f5 ff ff[ ]+callq [0-9a-f]+ <.*>
+ +10d1: e8 ca f4 ff ff[ ]+callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+10d6: 90[ ]+nop *
+10d7: 90[ ]+nop *
@@ -131,9 +131,9 @@ Disassembly of section .text:
+10ea: 90[ ]+nop *
+10eb: 90[ ]+nop *
# LD against hidden but not local variables
- +10ec: 48 8d 3d dd 10 10 00[ ]+lea 1052893\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10ec: 48 8d 3d 6d 02 10 00[ ]+lea 1049197\(%rip\),%rdi +# 101360 <.*>
# -> R_X86_64_DTPMOD64 [0 0x000000000000000]
- +10f3: e8 88 f5 ff ff[ ]+callq [0-9a-f]+ <.*>
+ +10f3: e8 a8 f4 ff ff[ ]+callq [0-9a-f]+ <.*>
# -> R_X86_64_JUMP_SLOT __tls_get_addr
+10f8: 90[ ]+nop *
+10f9: 90[ ]+nop *
@@ -148,7 +148,7 @@ Disassembly of section .text:
+1113: 00 00 *
+1115: 90[ ]+nop *
+1116: 90[ ]+nop *
- +1117: 48 03 0d 02 11 10 00[ ]+add 1052930\(%rip\),%rcx +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90>
+ +1117: 48 03 0d 92 02 10 00[ ]+add 1049234\(%rip\),%rcx +# 1013b0 <.*>
# -> R_X86_64_TPOFF64 sg2
+111e: 90[ ]+nop *
+111f: 90[ ]+nop *
@@ -159,7 +159,7 @@ Disassembly of section .text:
+1129: 00 00 *
+112b: 90[ ]+nop *
+112c: 90[ ]+nop *
- +112d: 4c 03 35 8c 10 10 00[ ]+add 1052812\(%rip\),%r14 +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +112d: 4c 03 35 1c 02 10 00[ ]+add 1049116\(%rip\),%r14 +# 101350 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x24
+1134: 90[ ]+nop *
+1135: 90[ ]+nop *
@@ -170,7 +170,7 @@ Disassembly of section .text:
+113f: 00 00 *
+1141: 90[ ]+nop *
+1142: 90[ ]+nop *
- +1143: 48 03 0d ee 10 10 00[ ]+add 1052910\(%rip\),%rcx +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8>
+ +1143: 48 03 0d 7e 02 10 00[ ]+add 1049214\(%rip\),%rcx +# 1013c8 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x44
+114a: 90[ ]+nop *
+114b: 90[ ]+nop *
@@ -181,7 +181,7 @@ Disassembly of section .text:
+1155: 00 00 *
+1157: 90[ ]+nop *
+1158: 90[ ]+nop *
- +1159: 48 03 0d 90 10 10 00[ ]+add 1052816\(%rip\),%rcx +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60>
+ +1159: 48 03 0d 20 02 10 00[ ]+add 1049120\(%rip\),%rcx +# 101380 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x64
+1160: 90[ ]+nop *
+1161: 90[ ]+nop *
@@ -189,7 +189,7 @@ Disassembly of section .text:
+1163: 90[ ]+nop *
# Direct access through %fs
# IE against global var
- +1164: 48 8b 0d 8d 10 10 00[ ]+mov 1052813\(%rip\),%rcx +# 1021f8 <_GLOBAL_OFFSET_TABLE_\+0x68>
+ +1164: 48 8b 0d 1d 02 10 00[ ]+mov 1049117\(%rip\),%rcx +# 101388 <.*>
# -> R_X86_64_TPOFF64 sg5
+116b: 90[ ]+nop *
+116c: 90[ ]+nop *
@@ -199,7 +199,7 @@ Disassembly of section .text:
+1173: 90[ ]+nop *
+1174: 90[ ]+nop *
# IE against local var
- +1175: 4c 8b 15 4c 10 10 00[ ]+mov 1052748\(%rip\),%r10 +# 1021c8 <_GLOBAL_OFFSET_TABLE_\+0x38>
+ +1175: 4c 8b 15 dc 01 10 00[ ]+mov 1049052\(%rip\),%r10 +# 101358 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x30
+117c: 90[ ]+nop *
+117d: 90[ ]+nop *
@@ -209,7 +209,7 @@ Disassembly of section .text:
+1184: 90[ ]+nop *
+1185: 90[ ]+nop *
# IE against hidden and local var
- +1186: 48 8b 15 83 10 10 00[ ]+mov 1052803\(%rip\),%rdx +# 102210 <_GLOBAL_OFFSET_TABLE_\+0x80>
+ +1186: 48 8b 15 13 02 10 00[ ]+mov 1049107\(%rip\),%rdx +# 1013a0 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x50
+118d: 90[ ]+nop *
+118e: 90[ ]+nop *
@@ -219,7 +219,7 @@ Disassembly of section .text:
+1195: 90[ ]+nop *
+1196: 90[ ]+nop *
# IE against hidden but not local var
- +1197: 48 8b 0d 7a 10 10 00[ ]+mov 1052794\(%rip\),%rcx +# 102218 <_GLOBAL_OFFSET_TABLE_\+0x88>
+ +1197: 48 8b 0d 0a 02 10 00[ ]+mov 1049098\(%rip\),%rcx +# 1013a8 <.*>
# -> R_X86_64_TPOFF64 *ABS*+0x70
+119e: 90[ ]+nop *
+119f: 90[ ]+nop *
--- ld/testsuite/ld-x86-64/tlsbin.dd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlsbin.dd 2004-01-16 08:56:26.000000000 -0500
@@ -24,7 +24,7 @@ Disassembly of section .text:
# GD -> IE because variable is not defined in executable
401004: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
40100b: 00 00 *
- 40100d: 48 03 05 c4 11 10 00[ ]+add 1053124\(%rip\),%rax +# 5021d8 <_GLOBAL_OFFSET_TABLE_\+0x38>
+ 40100d: 48 03 05 d4 03 10 00[ ]+add 1049556\(%rip\),%rax +# 5013e8 <.*>
# -> R_X86_64_TPOFF64 sG1
401014: 90[ ]+nop *
401015: 90[ ]+nop *
@@ -34,7 +34,7 @@ Disassembly of section .text:
# the variable is referenced through IE too
401018: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
40101f: 00 00 *
- 401021: 48 03 05 a0 11 10 00[ ]+add 1053088\(%rip\),%rax +# 5021c8 <_GLOBAL_OFFSET_TABLE_\+0x28>
+ 401021: 48 03 05 b0 03 10 00[ ]+add 1049520\(%rip\),%rax +# 5013d8 <.*>
# -> R_X86_64_TPOFF64 sG2
401028: 90[ ]+nop *
401029: 90[ ]+nop *
@@ -102,7 +102,7 @@ Disassembly of section .text:
4010b3: 00 00 *
4010b5: 90[ ]+nop *
4010b6: 90[ ]+nop *
- 4010b7: 4c 03 0d 0a 11 10 00[ ]+add 1052938\(%rip\),%r9 +# 5021c8 <_GLOBAL_OFFSET_TABLE_\+0x28>
+ 4010b7: 4c 03 0d 1a 03 10 00[ ]+add 1049370\(%rip\),%r9 +# 5013d8 <.*>
# -> R_X86_64_TPOFF64 sG2
4010be: 90[ ]+nop *
4010bf: 90[ ]+nop *
@@ -143,7 +143,7 @@ Disassembly of section .text:
401103: 90[ ]+nop *
# Direct access through %fs
# IE against global var
- 401104: 48 8b 0d b5 10 10 00[ ]+mov 1052853\(%rip\),%rcx +# 5021c0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+ 401104: 48 8b 0d c5 02 10 00[ ]+mov 1049285\(%rip\),%rcx +# 5013d0 <.*>
# -> R_X86_64_TPOFF64 sG5
40110b: 90[ ]+nop *
40110c: 90[ ]+nop *
@@ -186,7 +186,7 @@ Disassembly of section .text:
401147: 00 00 *
401149: 90[ ]+nop *
40114a: 90[ ]+nop *
- 40114b: 4c 03 1d 7e 10 10 00[ ]+add 1052798\(%rip\),%r11 +# 5021d0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ 40114b: 4c 03 1d 8e 02 10 00[ ]+add 1049230\(%rip\),%r11 +# 5013e0 <.*>
# -> R_X86_64_TPOFF64 sG6
401152: 90[ ]+nop *
401153: 90[ ]+nop *
--- ld/testsuite/ld-x86-64/tlspic.sd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlspic.sd 2004-01-16 09:01:11.000000000 -0500
@@ -8,14 +8,12 @@
.*: +file format elf64-x86-64
Contents of section .got:
- 102190 [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .*
- 1021a0 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .*
- 1021b0 00000000 00000000 20000000 00000000 .*
- 1021c0 00000000 00000000 00000000 00000000 .*
- 1021d0 00000000 00000000 00000000 00000000 .*
- 1021e0 00000000 00000000 60000000 00000000 .*
- 1021f0 00000000 00000000 00000000 00000000 .*
- 102200 00000000 00000000 00000000 00000000 .*
- 102210 00000000 00000000 00000000 00000000 .*
- 102220 00000000 00000000 00000000 00000000 .*
- 102230 40000000 00000000 00000000 00000000 .*
+ 101340 00000000 00000000 20000000 00000000 .*
+ 101350 00000000 00000000 00000000 00000000 .*
+ 101360 00000000 00000000 00000000 00000000 .*
+ 101370 00000000 00000000 60000000 00000000 .*
+ 101380 00000000 00000000 00000000 00000000 .*
+ 101390 00000000 00000000 00000000 00000000 .*
+ 1013a0 00000000 00000000 00000000 00000000 .*
+ 1013b0 00000000 00000000 00000000 00000000 .*
+ 1013c0 40000000 00000000 00000000 00000000 .*
--- ld/testsuite/ld-x86-64/tlsbin.sd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlsbin.sd 2004-01-16 09:02:13.000000000 -0500
@@ -8,7 +8,5 @@
.*: +file format elf64-x86-64
Contents of section .got:
- 5021a0 [0-9a-f]+ [0-9a-f]+ 00000000 00000000 .*
- 5021b0 00000000 00000000 [0-9a-f]+ [0-9a-f]+ .*
- 5021c0 00000000 00000000 00000000 00000000 .*
- 5021d0 00000000 00000000 00000000 00000000 .*
+ 5013d0 00000000 00000000 00000000 00000000 .*
+ 5013e0 00000000 00000000 00000000 00000000 .*
--- ld/testsuite/ld-x86-64/tlspic.td.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlspic.td 2004-01-16 09:05:35.000000000 -0500
@@ -8,9 +8,9 @@
.*: +file format elf64-x86-64
Contents of section .tdata:
- 102000 11000000 12000000 13000000 14000000 .*
- 102010 15000000 16000000 17000000 18000000 .*
- 102020 41000000 42000000 43000000 44000000 .*
- 102030 45000000 46000000 47000000 48000000 .*
- 102040 01010000 02010000 03010000 04010000 .*
- 102050 05010000 06010000 07010000 08010000 .*
+ 1011ac 11000000 12000000 13000000 14000000 .*
+ 1011bc 15000000 16000000 17000000 18000000 .*
+ 1011cc 41000000 42000000 43000000 44000000 .*
+ 1011dc 45000000 46000000 47000000 48000000 .*
+ 1011ec 01010000 02010000 03010000 04010000 .*
+ 1011fc 05010000 06010000 07010000 08010000 .*
--- ld/testsuite/ld-x86-64/tlsbin.td.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlsbin.td 2004-01-16 09:08:13.000000000 -0500
@@ -8,9 +8,9 @@
.*: +file format elf64-x86-64
Contents of section .tdata:
- 502000 11000000 12000000 13000000 14000000 .*
- 502010 15000000 16000000 17000000 18000000 .*
- 502020 41000000 42000000 43000000 44000000 .*
- 502030 45000000 46000000 47000000 48000000 .*
- 502040 01010000 02010000 03010000 04010000 .*
- 502050 05010000 06010000 07010000 08010000 .*
+ 50122a 11000000 12000000 13000000 14000000 .*
+ 50123a 15000000 16000000 17000000 18000000 .*
+ 50124a 41000000 42000000 43000000 44000000 .*
+ 50125a 45000000 46000000 47000000 48000000 .*
+ 50126a 01010000 02010000 03010000 04010000 .*
+ 50127a 05010000 06010000 07010000 08010000 .*
--- ld/testsuite/ld-x86-64/tlsbin.rd.jj 2002-10-02 13:17:20.000000000 -0400
+++ ld/testsuite/ld-x86-64/tlsbin.rd 2004-01-16 10:33:55.000000000 -0500
@@ -5,7 +5,7 @@
#readelf: -WSsrl
#target: x86_64-*-*
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 19 section headers, starting at offset 0x[0-9a-f]+:
Section Headers:
\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
@@ -18,15 +18,16 @@ Section Headers:
\[ 6\] .rela.plt +.*
\[ 7\] .plt +.*
\[ 8\] .text +PROGBITS +0+401000 0+1000 0+22a 00 +AX +0 +0 +4096
- \[ 9\] .data +.*
- \[10\] .tdata +PROGBITS +0+502000 0+2000 0+60 00 WAT +0 +0 +1
- \[11\] .tbss +NOBITS +0+502060 0+2060 0+40 00 WAT +0 +0 +1
- \[12\] .dynamic +DYNAMIC +0+502060 0+2060 0+140 10 +WA +4 +0 +8
- \[13\] .got +PROGBITS +0+5021a0 0+21a0 0+40 08 +WA +0 +0 +8
- \[14\] .bss +.*
- \[15\] .shstrtab +.*
- \[16\] .symtab +.*
- \[17\] .strtab +.*
+ \[ 9\] .tdata +PROGBITS +0+50122a 0+122a 0+60 00 WAT +0 +0 +1
+ \[10\] .tbss +NOBITS +0+50128a 0+128a 0+40 00 WAT +0 +0 +1
+ \[11\] .dynamic +DYNAMIC +0+501290 0+1290 0+140 10 +WA +4 +0 +8
+ \[12\] .got +PROGBITS +0+5013d0 0+13d0 0+20 08 +WA +0 +0 +8
+ \[13\] .got.plt +PROGBITS +0+5013f0 0+13f0 0+20 08 +WA +0 +0 +8
+ \[14\] .data +.*
+ \[15\] .bss +.*
+ \[16\] .shstrtab +.*
+ \[17\] .symtab +.*
+ \[18\] .strtab +.*
Key to Flags:
.*
.*
@@ -42,25 +43,25 @@ Program Headers:
INTERP +0x0+190 0x0+400190 0x0+400190 0x0+f 0x0+f R +0x1
.*Requesting program interpreter.*
LOAD +0x0+ 0x0+400000 0x0+400000 0x0+122a 0x0+122a R E 0x100000
- LOAD +0x0+2000 0x0+502000 0x0+502000 0x0+1e0 0x0+1e0 RW 0x100000
- DYNAMIC +0x0+2060 0x0+502060 0x0+502060 0x0+140 0x0+140 RW 0x8
- TLS +0x0+2000 0x0+502000 0x0+502000 0x0+60 0x0+a0 R +0x1
+ LOAD +0x0+122a 0x0+50122a 0x0+50122a 0x0+dd6 0x0+dd6 RW 0x100000
+ DYNAMIC +0x0+1290 0x0+501290 0x0+501290 0x0+140 0x0+140 RW 0x8
+ TLS +0x0+122a 0x0+50122a 0x0+50122a 0x0+60 0x0+a0 R +0x1
Section to Segment mapping:
Segment Sections...
00 *
01 +.interp *
02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
- 03 +.tdata .tbss .dynamic .got *
- 04 +.tbss .dynamic *
+ 03 +.tdata .tbss .dynamic .got .got.plt *
+ 04 +.dynamic *
05 +.tdata .tbss *
Relocation section '.rela.dyn' at offset 0x358 contains 4 entries:
+Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend
-0+5021c0 0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
-0+5021c8 0+300000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+5021d0 0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+5021d8 0+700000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+5013d0 0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
+0+5013d8 0+300000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
+0+5013e0 0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+5013e8 0+700000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
Relocation section '.rela.plt' at offset 0x3b8 contains 1 entries:
+Offset +Info +Type +Symbol's Value Symbol's Name \+ Addend
@@ -68,87 +69,88 @@ Relocation section '.rela.plt' at offset
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 sG5
- +2: 0+502060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +3: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
- +4: 0+[0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_addr
- +5: 0+[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+[0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +9: 0+5021a0 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +10: 0+[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 sG5
+ +[0-9]+: 0+501290 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
+ +[0-9]+: 0+[0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_addr
+ +[0-9]+: 0+[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+[0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
+ +[0-9]+: 0+5013f0 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+[0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
-Symbol table '.symtab' contains 70 entries:
+Symbol table '.symtab' contains 71 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 +10 sl1
- +19: 0+24 +0 TLS +LOCAL DEFAULT +10 sl2
- +20: 0+28 +0 TLS +LOCAL DEFAULT +10 sl3
- +21: 0+2c +0 TLS +LOCAL DEFAULT +10 sl4
- +22: 0+30 +0 TLS +LOCAL DEFAULT +10 sl5
- +23: 0+34 +0 TLS +LOCAL DEFAULT +10 sl6
- +24: 0+38 +0 TLS +LOCAL DEFAULT +10 sl7
- +25: 0+3c +0 TLS +LOCAL DEFAULT +10 sl8
- +26: 0+80 +0 TLS +LOCAL DEFAULT +11 bl1
- +27: 0+84 +0 TLS +LOCAL DEFAULT +11 bl2
- +28: 0+88 +0 TLS +LOCAL DEFAULT +11 bl3
- +29: 0+8c +0 TLS +LOCAL DEFAULT +11 bl4
- +30: 0+90 +0 TLS +LOCAL DEFAULT +11 bl5
- +31: 0+94 +0 TLS +LOCAL DEFAULT +11 bl6
- +32: 0+98 +0 TLS +LOCAL DEFAULT +11 bl7
- +33: 0+9c +0 TLS +LOCAL DEFAULT +11 bl8
- +34: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
- +35: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8
- +36: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6
- +37: 0+ +0 TLS +GLOBAL DEFAULT UND sG5
- +38: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3
- +39: 0+502060 +0 OBJECT GLOBAL DEFAULT ABS _DYNAMIC
- +40: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
- +41: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3
- +42: 0+ +0 TLS +GLOBAL DEFAULT UND sG2
- +43: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
- +44: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
- +45: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5
- +46: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_addr
- +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7
- +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8
- +49: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +50: 0+40113c +0 FUNC +GLOBAL DEFAULT +8 _start
- +51: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4
- +52: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7
- +53: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5
- +54: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS __bss_start
- +55: 0+ +0 TLS +GLOBAL DEFAULT UND sG6
- +56: 0+401000 +0 FUNC +GLOBAL DEFAULT +8 fn2
- +57: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
- +58: 0+ +0 TLS +GLOBAL DEFAULT UND sG1
- +59: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1
- +60: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
- +61: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
- +62: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _edata
- +63: 0+5021a0 +0 OBJECT GLOBAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- +64: [0-9a-f]+ +0 NOTYPE GLOBAL DEFAULT ABS _end
- +65: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2
- +66: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6
- +67: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2
- +68: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1
- +69: 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-9a-f]+ +0 SECTION LOCAL DEFAULT +18 *
+ +[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+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+ +0 TLS +GLOBAL DEFAULT UND sG5
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: 0+501290 +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-9a-f]+ +0 FUNC +GLOBAL DEFAULT UND __tls_get_addr
+ +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: 0+40113c +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+401000 +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+5013f0 +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
--- ld/testsuite/ld-s390/tlspic1.s.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic1.s 2004-01-19 05:26:47.000000000 -0500
@@ -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)
--- ld/testsuite/ld-s390/tlsbinpic.s.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbinpic.s 2004-01-19 05:27:00.000000000 -0500
@@ -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)
--- ld/testsuite/ld-s390/tlspic.rd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic.rd 2004-01-19 09:26:04.000000000 -0500
@@ -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
[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
--- ld/testsuite/ld-s390/tlsbin.rd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin.rd 2004-01-19 09:43:51.000000000 -0500
@@ -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
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
--- ld/testsuite/ld-s390/tlspic.dd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic.dd 2004-01-19 10:05:50.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlsbin.dd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin.dd 2004-01-19 10:02:18.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlsbin.sd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin.sd 2004-01-19 10:29:06.000000000 -0500
@@ -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 ............
--- ld/testsuite/ld-s390/tlsbin.td.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin.td 2004-01-19 10:29:55.000000000 -0500
@@ -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 .*
--- ld/testsuite/ld-s390/tlspic.sd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic.sd 2004-01-19 10:41:59.000000000 -0500
@@ -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 +.*
--- ld/testsuite/ld-s390/tlspic.td.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic.td 2004-01-19 10:42:21.000000000 -0500
@@ -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 .*
--- ld/testsuite/ld-elfvsb/elfvsb.exp.jj 2004-01-14 16:07:53.000000000 -0500
+++ ld/testsuite/ld-elfvsb/elfvsb.exp 2004-01-19 11:31:33.000000000 -0500
@@ -289,6 +289,7 @@ proc visibility_run {visibility} {
|| [ string match $visibility "protected_weak" ]
|| [ string match $visibility "normal" ] } {
setup_xfail "powerpc-*-linux*"
+ setup_xfail "s390x-*-linux*"
}
if { ![ string match $visibility "hidden_undef" ]
&& ![ string match $visibility "protected_undef" ] } {
--- ld/testsuite/ld-shared/shared.exp.jj 2004-01-14 16:07:54.000000000 -0500
+++ ld/testsuite/ld-shared/shared.exp 2004-01-19 11:33:09.000000000 -0500
@@ -221,6 +221,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $
setup_xfail "hppa*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
+ setup_xfail "s390x-*-linux*"
shared_test shnp "shared (non PIC, load offset)" \
mainnp.o sh1np.o sh2np.o shared \
"-T $srcdir/$subdir/elf-offset.ld"
--- ld/testsuite/ld-s390/tlspic1_64.s.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic1_64.s 2004-01-19 11:37:54.000000000 -0500
@@ -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)
--- ld/testsuite/ld-s390/tlsbinpic_64.s.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbinpic_64.s 2004-01-19 11:38:34.000000000 -0500
@@ -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)
--- ld/testsuite/ld-s390/tlspic_64.rd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic_64.rd 2004-01-19 12:03:14.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlsbin_64.rd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin_64.rd 2004-01-19 12:03:39.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlspic_64.dd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic_64.dd 2004-01-19 12:21:04.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlsbin_64.dd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin_64.dd 2004-01-19 12:49:15.000000000 -0500
@@ -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
--- ld/testsuite/ld-s390/tlspic_64.sd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic_64.sd 2004-01-19 12:41:56.000000000 -0500
@@ -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 .*
--- ld/testsuite/ld-s390/tlspic_64.td.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlspic_64.td 2004-01-19 12:42:13.000000000 -0500
@@ -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 .*
--- ld/testsuite/ld-s390/tlsbin_64.td.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin_64.td 2004-01-19 12:50:11.000000000 -0500
@@ -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 .*
--- ld/testsuite/ld-s390/tlsbin_64.sd.jj 2003-03-19 12:19:17.000000000 -0500
+++ ld/testsuite/ld-s390/tlsbin_64.sd 2004-01-19 12:49:53.000000000 -0500
@@ -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 .*
Jakub