+2014-09-10 Alan Modra <amodra@gmail.com>
+
+ * elf.c (assign_file_positions_except_relocs): Move section header
+ placement to..
+ (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static.
+ * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
+ * elflink.c (bfd_elf_final_link): Don't call above function.
+
2014-08-30 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
(struct bfd_link_info *, bfd *, long);
extern bfd_boolean _bfd_elf_compute_section_file_positions
(bfd *, struct bfd_link_info *);
-extern void _bfd_elf_assign_file_positions_for_relocs
- (bfd *);
extern file_ptr _bfd_elf_assign_file_position_for_section
(Elf_Internal_Shdr *, file_ptr, bfd_boolean);
{
struct elf_obj_tdata *tdata = elf_tdata (abfd);
Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
- file_ptr off;
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0
unsigned int num_sec = elf_numsections (abfd);
Elf_Internal_Shdr **hdrpp;
unsigned int i;
+ file_ptr off;
/* Start after the ELF header. */
off = i_ehdrp->e_ehsize;
else
off = _bfd_elf_assign_file_position_for_section (hdr, off, TRUE);
}
+
+ elf_next_file_pos (abfd) = off;
}
else
{
if (bfd_seek (abfd, (bfd_signed_vma) bed->s->sizeof_ehdr, SEEK_SET) != 0
|| bed->s->write_out_phdrs (abfd, tdata->phdr, alloc) != 0)
return FALSE;
-
- off = elf_next_file_pos (abfd);
}
- /* Place the section headers. */
- off = align_file_position (off, 1 << bed->s->log_file_align);
- i_ehdrp->e_shoff = off;
- off += i_ehdrp->e_shnum * i_ehdrp->e_shentsize;
-
- elf_next_file_pos (abfd) = off;
-
return TRUE;
}
}
/* Assign file positions for all the reloc sections which are not part
- of the loadable file image. */
+ of the loadable file image, and the file position of section headers. */
-void
+static void
_bfd_elf_assign_file_positions_for_relocs (bfd *abfd)
{
file_ptr off;
unsigned int i, num_sec;
Elf_Internal_Shdr **shdrpp;
+ Elf_Internal_Ehdr *i_ehdrp;
+ const struct elf_backend_data *bed;
off = elf_next_file_pos (abfd);
off = _bfd_elf_assign_file_position_for_section (shdrp, off, TRUE);
}
+/* Place the section headers. */
+ i_ehdrp = elf_elfheader (abfd);
+ bed = get_elf_backend_data (abfd);
+ off = align_file_position (off, 1 << bed->s->log_file_align);
+ i_ehdrp->e_shoff = off;
+ off += i_ehdrp->e_shnum * i_ehdrp->e_shentsize;
elf_next_file_pos (abfd) = off;
}
esdo->rela.count = 0;
}
- _bfd_elf_assign_file_positions_for_relocs (abfd);
-
/* We have now assigned file positions for all the sections except
- .symtab and .strtab. We start the .symtab section at the current
- file position, and write directly to it. We build the .strtab
- section in memory. */
+ .symtab, .strtab, and non-loaded reloc sections. We start the
+ .symtab section at the current file position, and write directly
+ to it. We build the .strtab section in memory. */
bfd_get_symcount (abfd) = 0;
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
/* sh_name is set in prep_headers. */
+2014-09-10 Alan Modra <amodra@gmail.com>
+
+ * gas/arm/got_prel.d: Adjust for changed section header placement.
+ * gas/i386/ilp32/x86-64-size-1.d: Likewise.
+ * gas/i386/ilp32/x86-64-size-3.d: Likewise.
+ * gas/i386/ilp32/x86-64-size-5.d: Likewise.
+ * gas/i386/ilp32/x86-64-unwind.d: Likewise.
+ * gas/i386/size-1.d: Likewise.
+ * gas/i386/size-3.d: Likewise.
+ * gas/i386/x86-64-size-1.d: Likewise.
+ * gas/i386/x86-64-size-3.d: Likewise.
+ * gas/i386/x86-64-size-5.d: Likewise.
+ * gas/i386/x86-64-unwind.d: Likewise.
+ * gas/ia64/alias-ilp32.d: Likewise.
+ * gas/ia64/alias.d: Likewise.
+ * gas/ia64/group-1.d: Likewise.
+ * gas/ia64/group-2.d: Likewise.
+ * gas/ia64/secname-ilp32.d: Likewise.
+ * gas/ia64/secname.d: Likewise.
+ * gas/ia64/unwind-ilp32.d: Likewise.
+ * gas/ia64/unwind.d: Likewise.
+ * gas/mmix/bspec-1.d: Likewise.
+ * gas/mmix/bspec-2.d: Likewise.
+ * gas/mmix/byte-1.d: Likewise.
+ * gas/mmix/loc-1.d: Likewise.
+ * gas/mmix/loc-2.d: Likewise.
+ * gas/mmix/loc-3.d: Likewise.
+ * gas/mmix/loc-4.d: Likewise.
+ * gas/mmix/loc-5.d: Likewise.
+ * gas/tic6x/scomm-directive-4.d: Likewise.
+
2014-09-06 Matthew Fortune <matthew.fortune@imgtec.com>
* gas/mips/attr-gnu-abi-fp-1.d: Relax expected output.
# readelf: -x 4 -r
# target: *-*-*eabi* *-*-symbianelf *-*-linux-* *-*-elf *-*-nacl*
-Relocation section '.rel.text.foo' at offset 0x3f0 contains 1 entries:
+Relocation section '.rel.text.foo' at offset .* contains 1 entries:
Offset Info Type Sym.Value Sym. Name
00000010 00000c60 R_ARM_GOT_PREL 00000000 i
-Relocation section '.rel.ARM.exidx.text.foo' at offset 0x3f8 contains 2 entries:
+Relocation section '.rel.ARM.exidx.text.foo' at offset .* contains 2 entries:
Offset Info Type Sym.Value Sym. Name
00000000 0000042a R_ARM_PREL31 00000000 .text.foo
00000000 00000d00 R_ARM_NONE 00000000 __aeabi_unwind_cpp_pr0
#readelf: -r
-Relocation section '.rela.text' at offset 0x2dc contains 9 entries:
+Relocation section '.rela.text' at offset .* contains 9 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+1 00000420 R_X86_64_SIZE32 00000000 xxx \+ 0
0+6 00000420 R_X86_64_SIZE32 00000000 xxx - 8
0+24 00000620 R_X86_64_SIZE32 00000020 zzz - 20
0+29 00000620 R_X86_64_SIZE32 00000020 zzz \+ 20
-Relocation section '.rela.data' at offset 0x348 contains 3 entries:
+Relocation section '.rela.data' at offset .* contains 3 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+50 00000420 R_X86_64_SIZE32 00000000 xxx - 1
0+54 00000520 R_X86_64_SIZE32 00000000 yyy \+ 2
#readelf: -r
-Relocation section '.rela.text' at offset 0x334 contains 6 entries:
+Relocation section '.rela.text' at offset .* contains 6 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+1 00000620 R_X86_64_SIZE32 00000000 xxx \+ 0
0+6 00000620 R_X86_64_SIZE32 00000000 xxx - 8
0+15 00000720 R_X86_64_SIZE32 00000000 yyy - 10
0+1a 00000720 R_X86_64_SIZE32 00000000 yyy \+ 10
-Relocation section '.rela.tdata' at offset 0x37c contains 2 entries:
+Relocation section '.rela.tdata' at offset .* contains 2 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+50 00000620 R_X86_64_SIZE32 00000000 xxx - 1
0+54 00000720 R_X86_64_SIZE32 00000000 yyy \+ 2
#readelf: -r
-Relocation section '.rela.text' at offset 0x2d8 contains 3 entries:
+Relocation section '.rela.text' at offset .* contains 3 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+2 00000421 R_X86_64_SIZE64 00000000 xxx \+ 0
0+c 00000421 R_X86_64_SIZE64 00000000 xxx - 8
0+16 00000421 R_X86_64_SIZE64 00000000 xxx \+ 8
-Relocation section '.rela.data' at offset 0x2fc contains 3 entries:
+Relocation section '.rela.data' at offset .* contains 3 entries:
Offset Info Type Sym.Value Sym. Name \+ Addend
0+50 00000421 R_X86_64_SIZE64 00000000 xxx - 1
0+58 00000621 R_X86_64_SIZE64 00000000 yyy \+ c8
#readelf: -S
#name: x86-64 (ILP32) unwind
-There are 8 section headers, starting at offset 0x74:
+There are 8 section headers, starting at offset 0xc8:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 3\] .bss NOBITS 00000000 000034 000000 00 WA 0 0 1
\[ 4\] .eh_frame X86_64_UNWIND 00000000 000034 000008 00 A 0 0 1
\[ 5\] .shstrtab STRTAB 00000000 00003c 000036 00 0 0 1
- \[ 6\] .symtab SYMTAB 00000000 0001b4 000050 10 7 5 4
- \[ 7\] .strtab STRTAB 00000000 000204 000001 00 0 0 1
+ \[ 6\] .symtab SYMTAB 00000000 000074 000050 10 7 5 4
+ \[ 7\] .strtab STRTAB 00000000 0000c4 000001 00 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
#readelf: -r
-Relocation section '.rel.text' at offset 0x2dc contains 9 entries:
+Relocation section '.rel.text' at offset .* contains 9 entries:
Offset Info Type Sym.Value Sym. Name
0+1 00000426 R_386_SIZE32 00000000 xxx
0+6 00000426 R_386_SIZE32 00000000 xxx
0+24 00000626 R_386_SIZE32 00000020 zzz
0+29 00000626 R_386_SIZE32 00000020 zzz
-Relocation section '.rel.data' at offset 0x324 contains 3 entries:
+Relocation section '.rel.data' at offset .* contains 3 entries:
Offset Info Type Sym.Value Sym. Name
0+50 00000426 R_386_SIZE32 00000000 xxx
0+54 00000526 R_386_SIZE32 00000000 yyy
#readelf: -r
-Relocation section '.rel.text' at offset 0x330 contains 6 entries:
+Relocation section '.rel.text' at offset .* contains 6 entries:
Offset Info Type Sym.Value Sym. Name
0+1 00000626 R_386_SIZE32 00000000 xxx
0+6 00000626 R_386_SIZE32 00000000 xxx
0+15 00000726 R_386_SIZE32 00000000 yyy
0+1a 00000726 R_386_SIZE32 00000000 yyy
-Relocation section '.rel.tdata' at offset 0x360 contains 2 entries:
+Relocation section '.rel.tdata' at offset .* contains 2 entries:
Offset Info Type Sym.Value Sym. Name
0+50 00000626 R_386_SIZE32 00000000 xxx
0+54 00000726 R_386_SIZE32 00000000 yyy
#readelf: -r
-Relocation section '.rela.text' at offset 0x3f8 contains 9 entries:
+Relocation section '.rela.text' at offset .* contains 9 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+1 000400000020 R_X86_64_SIZE32 0000000000000000 xxx \+ 0
0+6 000400000020 R_X86_64_SIZE32 0000000000000000 xxx - 8
0+24 000600000020 R_X86_64_SIZE32 0000000000000020 zzz - 20
0+29 000600000020 R_X86_64_SIZE32 0000000000000020 zzz \+ 20
-Relocation section '.rela.data' at offset 0x4d0 contains 3 entries:
+Relocation section '.rela.data' at offset .* contains 3 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+50 000400000020 R_X86_64_SIZE32 0000000000000000 xxx - 1
0+54 000500000020 R_X86_64_SIZE32 0000000000000000 yyy \+ 2
#readelf: -r
-Relocation section '.rela.text' at offset 0x490 contains 6 entries:
+Relocation section '.rela.text' at offset .* contains 6 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+1 000600000020 R_X86_64_SIZE32 0000000000000000 xxx \+ 0
0+6 000600000020 R_X86_64_SIZE32 0000000000000000 xxx - 8
0+15 000700000020 R_X86_64_SIZE32 0000000000000000 yyy - 10
0+1a 000700000020 R_X86_64_SIZE32 0000000000000000 yyy \+ 10
-Relocation section '.rela.tdata' at offset 0x520 contains 2 entries:
+Relocation section '.rela.tdata' at offset .* contains 2 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+50 000600000020 R_X86_64_SIZE32 0000000000000000 xxx - 1
0+54 000700000020 R_X86_64_SIZE32 0000000000000000 yyy \+ 2
#readelf: -r
-Relocation section '.rela.text' at offset 0x3f8 contains 3 entries:
+Relocation section '.rela.text' at offset .* contains 3 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+2 000400000021 R_X86_64_SIZE64 0000000000000000 xxx \+ 0
0+c 000400000021 R_X86_64_SIZE64 0000000000000000 xxx - 8
0+16 000400000021 R_X86_64_SIZE64 0000000000000000 xxx \+ 8
-Relocation section '.rela.data' at offset 0x440 contains 3 entries:
+Relocation section '.rela.data' at offset .* contains 3 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
0+50 000400000021 R_X86_64_SIZE64 0000000000000000 xxx - 1
0+58 000600000021 R_X86_64_SIZE64 0000000000000000 yyy \+ c8
#readelf: -S
#name: x86-64 unwind
-There are 8 section headers, starting at offset 0x80:
+There are 8 section headers, starting at offset 0x100:
Section Headers:
\[Nr\] Name Type Address Offset
0000000000000008 0000000000000000 A 0 0 1
\[ 5\] \.shstrtab STRTAB 0000000000000000 00000048
0000000000000036 0000000000000000 0 0 1
- \[ 6\] \.symtab SYMTAB 0000000000000000 00000280
+ \[ 6\] \.symtab SYMTAB 0000000000000000 00000080
0000000000000078 0000000000000018 7 5 8
- \[ 7\] \.strtab STRTAB 0000000000000000 000002f8
+ \[ 7\] \.strtab STRTAB 0000000000000000 000000f8
0000000000000001 0000000000000000 0 0 1
Key to Flags:
#...
#as: -milp32
#source: alias.s
-There are 8 section headers, starting at offset 0x78:
+There are 8 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al
+\[ 3\] .bss +NOBITS +00000000 000040 000000 00 +WA +0 +0 +1
+\[ 4\] 1234 +PROGBITS +00000000 000040 000005 00 +WA +0 +0 +1
+\[ 5\] .shstrtab +STRTAB +00000000 000045 000031 00 +0 +0 +1
- +\[ 6\] .symtab +SYMTAB +00000000 0001b8 000060 10 +7 +6 +4
- +\[ 7\] .strtab +STRTAB +00000000 000218 000006 00 +0 +0 +1
+ +\[ 6\] .symtab +SYMTAB +00000000 [0-9a-f]+ 000060 10 +7 +6 +4
+ +\[ 7\] .strtab +STRTAB +00000000 [0-9a-f]+ 000006 00 +0 +0 +1
Key to Flags:
#...
#readelf: -Ss
#name: ia64 alias and secalias
-There are 8 section headers, starting at offset 0x78:
+There are 8 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000005 +0000000000000000 +WA +0 +0 +1
+\[ 5\] \.shstrtab +STRTAB +0000000000000000 +00000045
+0000000000000031 +0000000000000000 +0 +0 +1
- +\[ 6\] \.symtab +SYMTAB +0000000000000000 +00000278
+ +\[ 6\] \.symtab +SYMTAB +0000000000000000 .*
+0000000000000090 +0000000000000018 +7 +6 +8
- +\[ 7\] \.strtab +STRTAB +0000000000000000 +00000308
+ +\[ 7\] \.strtab +STRTAB +0000000000000000 .*
+0000000000000006 +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Sg
#name: ia64 group
-There are 9 section headers, starting at offset 0x98:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Offset
0000000000000010 0000000000000000 AXG 0 0 16
\[ 6\] \.shstrtab STRTAB 0000000000000000 00000060
0000000000000033 0000000000000000 0 0 1
- \[ 7\] \.symtab SYMTAB 0000000000000000 000002d8
+ \[ 7\] \.symtab SYMTAB 0000000000000000 .*
00000000000000c0 0000000000000018 8 8 8
- \[ 8\] \.strtab STRTAB 0000000000000000 00000398
+ \[ 8\] \.strtab STRTAB 0000000000000000 .*
000000000000000c 0000000000000000 0 0 1
Key to Flags:
#...
#as: -x
#name: ia64 unwind group
-There are 12 section headers, starting at offset 0x100:
+There are 12 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Offset
0000000000000010 0000000000000000 AG 0 0 8
\[ 7\] \.gnu\.linkonce\.ia6 IA_64_UNWIND 0000000000000000 00000060
0000000000000018 0000000000000000 ALG 5 5 8
- \[ 8\] \.rela\.gnu\.linkonc RELA 0000000000000000 000004e0
+ \[ 8\] \.rela\.gnu\.linkonc RELA 0000000000000000 .*
0000000000000048 0000000000000018 I 10 7 8
\[ 9\] \.shstrtab STRTAB 0000000000000000 00000078
0000000000000081 0000000000000000 0 0 1
- \[10\] \.symtab SYMTAB 0000000000000000 00000400
+ \[10\] \.symtab SYMTAB 0000000000000000 .*
00000000000000d8 0000000000000018 11 9 8
- \[11\] \.strtab STRTAB 0000000000000000 000004d8
+ \[11\] \.strtab STRTAB 0000000000000000 .*
0000000000000005 0000000000000000 0 0 1
Key to Flags:
#...
#as: -milp32
#source: secname.s
-There are 8 section headers, starting at offset 0x7c:
+There are 8 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 3\] .bss NOBITS 00000000 000040 000000 00 WA 0 0 1
\[ 4\] .foo PROGBITS 00000000 000040 000008 00 WA 0 0 8
\[ 5\] .shstrtab STRTAB 00000000 000048 000031 00 0 0 1
- \[ 6\] .symtab SYMTAB 00000000 0001bc 000050 10 7 5 4
- \[ 7\] .strtab STRTAB 00000000 00020c 000001 00 0 0 1
+ \[ 6\] .symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 7 5 4
+ \[ 7\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1
Key to Flags:
#...
#readelf: -S
#name: ia64 section name
-There are 8 section headers, starting at offset 0x80:
+There are 8 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Offset
0000000000000008 0000000000000000 WA 0 0 8
\[ 5\] \.shstrtab STRTAB 0000000000000000 00000048
0000000000000031 0000000000000000 0 0 1
- \[ 6\] \.symtab SYMTAB 0000000000000000 00000280
+ \[ 6\] \.symtab SYMTAB 0000000000000000 .*
0000000000000078 0000000000000018 7 5 8
- \[ 7\] \.strtab STRTAB 0000000000000000 000002f8
+ \[ 7\] \.strtab STRTAB 0000000000000000 .*
0000000000000001 0000000000000000 0 0 1
Key to Flags:
#...
#as: -milp32
#source: unwind.s
-There are 9 section headers, starting at offset 0xa0:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 4\] .IA_64.unwind_inf PROGBITS 00000000 000040 000008 00 A 0 0 8
\[ 5\] .IA_64.unwind IA_64_UNWIND 00000000 000048 000008 00 AL 1 1 8
\[ 6\] .shstrtab STRTAB 00000000 000050 00004d 00 0 0 1
- \[ 7\] .symtab SYMTAB 00000000 000208 000060 10 8 6 4
- \[ 8\] .strtab STRTAB 00000000 000268 000001 00 0 0 1
+ \[ 7\] .symtab SYMTAB 00000000 [0-9a-f]+ 000060 10 8 6 4
+ \[ 8\] .strtab STRTAB 00000000 [0-9a-f]+ 000001 00 0 0 1
Key to Flags:
#...
#readelf: -S
#name: ia64 unwind section
-There are 9 section headers, starting at offset 0xa0:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Offset
0000000000000008 0000000000000000 AL 1 1 8
\[ 6\] \.shstrtab STRTAB 0000000000000000 00000050
000000000000004d 0000000000000000 0 0 1
- \[ 7\] \.symtab SYMTAB 0000000000000000 000002e0
+ \[ 7\] \.symtab SYMTAB 0000000000000000 .*
0000000000000090 0000000000000018 8 6 8
- \[ 8\] \.strtab STRTAB 0000000000000000 00000370
+ \[ 8\] \.strtab STRTAB 0000000000000000 .*
0000000000000001 0000000000000000 0 0 1
Key to Flags:
#...
#readelf: -Ssr -x1 -x4
-There are 9 section headers, starting at offset 0x..:
+There are 9 section headers, starting at offset .*:
#...
+\[ 4\] \.MMIX\.spec_data\.2 +PROGBITS +0+ +0+44
+0+4 +0+ +0 +0 +4
#readelf: -Sr -x1 -x4
-There are 11 section headers, starting at offset 0x..:
+There are 11 section headers, starting at offset .*:
#...
\[ 4\] \.MMIX\.spec_data\.2 PROGBITS 0+ 0+48
0+10 0+ 0 0 8
- \[ 5\] \.rela\.MMIX\.spec_d RELA 0+ 0+4..
+ \[ 5\] \.rela\.MMIX\.spec_d RELA 0+ .*
+0+30 0+18 +I +9 +4 +8
\[ 6\] \.MMIX\.spec_data\.3 PROGBITS 0+ 0+58
0+8 0+ 0 0 8
- \[ 7\] \.rela\.MMIX\.spec_d RELA 0+ 0+4..
+ \[ 7\] \.rela\.MMIX\.spec_d RELA 0+ .*
+0+18 +0+18 +I +9 +6 +8
#...
-Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x4.. contains 2 entries:
+Relocation section '\.rela\.MMIX\.spec_data\.2' at offset .* contains 2 entries:
.*
0+ 0+600000004 R_MMIX_32 +0+ +forw +\+ 0
0+8 0+700000005 R_MMIX_64 +0+ +other +\+ 0
-Relocation section '\.rela\.MMIX\.spec_data\.3' at offset 0x4.. contains 1 entries:
+Relocation section '\.rela\.MMIX\.spec_data\.3' at offset .* contains 1 entries:
.*
0+ 0+700000005 R_MMIX_64 +0+ +other +\+ 0
#readelf: -Ssrx1
-There are 7 section headers, starting at offset 0x88:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000000 +0000000000000000 +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0000000000000000 +00000056
+000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 +00000248
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+00000000000000c0 +0000000000000018 +6 +7 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 +00000308
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+0000000000000018 +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Ssrx1 -x2
-There are 7 section headers, starting at offset 0x90:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000000 +0000000000000000 +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0000000000000000 +00000064
+000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 +00000250
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+00000000000000c0 +0000000000000018 +6 +6 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 +00000310
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+000000000000002a +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Ssrx1
-There are 7 section headers, starting at offset 0x78:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000000 +0000000000000000 +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0000000000000000 +00000048
+000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 +00000238
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+0000000000000090 +0000000000000018 +6 +4 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 +000002c8
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+000000000000001a +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Ssrx1 -x2
-There are 7 section headers, starting at offset 0x80:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000000 +0000000000000000 +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0000000000000000 +00000054
+000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 +00000240
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+00000000000000c0 +0000000000000018 +6 +5 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 +00000300
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+0000000000000030 +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Ssrx1 -x2
-There are 7 section headers, starting at offset 0x88:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0000000000000000 +0000000000000000 +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0000000000000000 +0000005c
+000000000000002c +0000000000000000 +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0000000000000000 +00000248
+ +\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+00000000000000c0 +0000000000000018 +6 +5 +8
- +\[ 6\] \.strtab +STRTAB +0000000000000000 +00000308
+ +\[ 6\] \.strtab +STRTAB +0000000000000000 .*
+000000000000003b +0000000000000000 +0 +0 +1
Key to Flags:
#...
#readelf: -Ssrx1 -x2
-There are 7 section headers, starting at offset 0x98:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] +Name +Type +Address +Offset
+0+ +0+ +WA +0 +0 +1
+\[ 4\] \.shstrtab +STRTAB +0+ +0+6c
+0+2c +0+ +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0+ +0+258
+ +\[ 5\] \.symtab +SYMTAB +0+ .*
+0+c0 +0+18 +6 +6 +8
- +\[ 6\] \.strtab +STRTAB +0+ +0+318
+ +\[ 6\] \.strtab +STRTAB +0+ .*
+0+29 +0+ +0 +0 +1
Key to Flags:
#...
#source: scomm-directive-4.s
#readelf: -Ss
-There are 8 section headers, starting at offset 0x88:
+There are 8 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 3\] \.bss NOBITS 00000000 000034 000000 00 WA 0 0 1
\[ 4\] \.c6xabi\.attribute C6000_ATTRIBUTE 00000000 000034 000013 00 0 0 1
\[ 5\] \.shstrtab STRTAB 00000000 000047 00003f 00 0 0 1
- \[ 6\] \.symtab SYMTAB 00000000 0001c8 0000d0 10 7 5 4
- \[ 7\] \.strtab STRTAB 00000000 000298 00001d 00 0 0 1
+ \[ 6\] \.symtab SYMTAB 00000000 [0-9a-f]+ 0000d0 10 7 5 4
+ \[ 7\] \.strtab STRTAB 00000000 [0-9a-f]+ 00001d 00 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
+2014-09-10 Alan Modra <amodra@gmail.com>
+
+ * ld-aarch64/emit-relocs-local-addend.d: Adjust for changed
+ section header placement.
+ * ld-aarch64/local-addend-r.d: Likewise.
+ * ld-mmix/bspec1.d: Likewise.
+ * ld-mmix/bspec2.d: Likewise.
+ * ld-mmix/local1.d: Likewise.
+ * ld-mmix/local3.d: Likewise.
+ * ld-mmix/local5.d: Likewise.
+ * ld-mmix/local7.d: Likewise.
+ * ld-mmix/undef-3.d: Likewise.
+ * ld-sh/sh64/crange3-cmpct.rd: Likewise.
+ * ld-sh/sh64/crange3-media.rd: Likewise.
+ * ld-sh/sh64/crangerel1.rd: Likewise.
+ * ld-sh/sh64/crangerel2.rd: Likewise.
+ * ld-tic6x/common.d: Likewise.
+ * ld-tic6x/shlib-1.rd: Likewise.
+ * ld-tic6x/shlib-1b.rd: Likewise.
+ * ld-tic6x/shlib-1r.rd: Likewise.
+ * ld-tic6x/shlib-1rb.rd: Likewise.
+ * ld-tic6x/shlib-app-1.rd: Likewise.
+ * ld-tic6x/shlib-app-1b.rd: Likewise.
+ * ld-tic6x/shlib-app-1r.rd: Likewise.
+ * ld-tic6x/shlib-app-1rb.rd: Likewise.
+ * ld-tic6x/shlib-noindex.rd: Likewise.
+ * ld-tic6x/static-app-1.rd: Likewise.
+ * ld-tic6x/static-app-1b.rd: Likewise.
+ * ld-tic6x/static-app-1r.rd: Likewise.
+ * ld-tic6x/static-app-1rb.rd: Likewise.
+ * ld-x86-64/ilp32-4.d: Likewise.
+ * ld-x86-64/split-by-file-nacl.rd: Likewise.
+ * ld-x86-64/split-by-file.rd: Likewise.
+
2014-09-06 Matthew Fortune <matthew.fortune@imgtec.com>
* ld-mips-elf/abiflags-strip1-ph.d: Ignore big/little endian
#ld: -T relocs.ld -e0 --emit-relocs
#readelf: -r
-Relocation section '\.rela\.text' at offset 0x102f8 contains 4 entries:
+Relocation section '\.rela\.text' at offset .* contains 4 entries:
Offset Info Type Sym\. Value Sym\. Name \+ Addend
000000010000 000200000113 R_AARCH64_ADR_PRE 0000000000010018 \.rodata \+ 0
000000010004 000200000115 R_AARCH64_ADD_ABS 0000000000010018 \.rodata \+ 0
00000001000c 000200000113 R_AARCH64_ADR_PRE 0000000000010018 \.rodata \+ 10
000000010010 000200000115 R_AARCH64_ADD_ABS 0000000000010018 \.rodata \+ 10
-Relocation section '\.rela\.rodata' at offset 0x10358 contains 2 entries:
+Relocation section '\.rela\.rodata' at offset .* contains 2 entries:
Offset Info Type Sym\. Value Sym. Name \+ Addend
000000010020 000200000101 R_AARCH64_ABS64 0000000000010018 \.rodata \+ 0
000000010030 000200000101 R_AARCH64_ABS64 0000000000010018 \.rodata \+ 10
#ld: -e0 -r
#readelf: -r
-Relocation section '\.rela\.text' at offset 0x338 contains 4 entries:
+Relocation section '\.rela\.text' at offset .* contains 4 entries:
Offset Info Type Sym\. Value Sym\. Name \+ Addend
000000000000 000200000113 R_AARCH64_ADR_PRE 0000000000000000 \.rodata \+ 0
000000000004 000200000115 R_AARCH64_ADD_ABS 0000000000000000 \.rodata \+ 0
00000000000c 000200000113 R_AARCH64_ADR_PRE 0000000000000000 \.rodata \+ 10
000000000010 000200000115 R_AARCH64_ADD_ABS 0000000000000000 \.rodata \+ 10
-Relocation section '\.rela\.rodata' at offset 0x398 contains 2 entries:
+Relocation section '\.rela\.rodata' at offset .* contains 2 entries:
Offset Info Type Sym\. Value Sym. Name \+ Addend
000000000008 000200000101 R_AARCH64_ABS64 0000000000000000 \.rodata \+ 0
000000000018 000200000101 R_AARCH64_ABS64 0000000000000000 \.rodata \+ 10
#ld: -m elf64mmix
#readelf: -Ssr -x1 -x2
-There are 6 section headers, starting at offset 0xb8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
+0+4 +0+ +0 +0 +4
+\[ 3\] \.shstrtab +STRTAB +0+ +0+80
+0+33 +0+ +0 +0 +1
- +\[ 4\] \.symtab +SYMTAB +0+ +0+238
+ +\[ 4\] \.symtab +SYMTAB +0+ .*
+0+d8 +0+18 +5 +3 +8
- +\[ 5\] \.strtab +STRTAB +0+ +0+310
+ +\[ 5\] \.strtab +STRTAB +0+ .*
+0+2d +0+ +0 +0 +1
Key to Flags:
#...
#ld: -m elf64mmix
#readelf: -Ssr -x1 -x2 -x3
-There are 7 section headers, starting at offset 0xd0:
+There are 7 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
+0+4 +0+ +0 +0 +4
+\[ 4\] \.shstrtab +STRTAB +0+ +0+88
+0+45 +0+ +0 +0 +1
- +\[ 5\] \.symtab +SYMTAB +0+ +0+290
+ +\[ 5\] \.symtab +SYMTAB +0+ .*
+0+108 +0+18 +6 +4 +8
- +\[ 6\] \.strtab +STRTAB +0+ +0+398
+ +\[ 6\] \.strtab +STRTAB +0+ .*
+0+32 +0+ +0 +0 +1
Key to Flags:
#...
# (different meaning of "local" than for symbol), which can be seen as
# somewhat twisted.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
# Like local1, but ext1 is here a constant, not a global register.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
# Like local1, but with two checks for a local register.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
# Like local1, but ext1 is here a constant, not a global register and two
# local-register checks.
-There are 6 section headers, starting at offset 0xc8:
+There are 6 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
#ld: -u undefd -m elf64mmix
#readelf: -S -s
-There are 5 section headers, starting at offset 0xa0:
+There are 5 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
+0+4 +0+ +AX +0 +0 +4
+\[ 2\] \.shstrtab +STRTAB +0+ +0+7c
+0+21 +0+ +0 +0 +1
- +\[ 3\] \.symtab +SYMTAB +0+ +0+1e0
+ +\[ 3\] \.symtab +SYMTAB +0+ .*
+0+c0 +0+18 +4 +2 +8
- +\[ 4\] \.strtab +STRTAB +0+ +0+2a0
+ +\[ 4\] \.strtab +STRTAB +0+ .*
+0+2f +0+ +0 +0 +1
Key to Flags:
#...
+Version: +0x1
+Entry point address: +0x10c4
+Start of program headers: +52 \(bytes into file\)
- +Start of section headers: +504 \(bytes into file\)
+ +Start of section headers: .*
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
+Version: +0x1
+Entry point address: +0x10a5
+Start of program headers: +52 \(bytes into file\)
- +Start of section headers: +504 \(bytes into file\)
+ +Start of section headers: .*
+Flags: +0xa, sh5
+Size of this header: +52 \(bytes\)
+Size of program headers: +32 \(bytes\)
-There are 11 section headers, starting at offset 0xbc:
+There are 11 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 4\] \.bss +NOBITS +00000000 00004c 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 00004c 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1
- +\[ 7\] \.rela\.cranges +RELA +00000000 000274 000024 0c +9 +6 +4
+ +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000024 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 00006e 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB .*
+\[10\] \.strtab +STRTAB .*
-There are 11 section headers, starting at offset 0x128:
+There are 11 section headers, starting at offset .*:
Section Headers:
+\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
+\[ 4\] \.bss +NOBITS +00000000 000090 000000 00 +WA +0 +0 +1
+\[ 5\] \.stack +PROGBITS +00000000 000090 000004 00 +WA +0 +0 +1
+\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1
- +\[ 7\] \.rela\.cranges +RELA +00000000 0002e0 000054 0c +9 +6 +4
+ +\[ 7\] \.rela\.cranges +RELA +00000000 [0-9a-f]+ 000054 0c +9 +6 +4
+\[ 8\] \.shstrtab +STRTAB +00000000 0000da 00004d 00 +0 +0 +1
+\[ 9\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +10 +[0-9]+ +4
+\[10\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1
#source: common.s
#readelf: -Ss
-There are 6 section headers, starting at offset 0x7c:
+There are 6 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 1\] \.far NOBITS 00000080 000080 000008 00 WA 0 0 4
\[ 2\] \.bss NOBITS 00000100 000080 000004 00 WA 0 0 4
\[ 3\] \.shstrtab STRTAB 00000000 000054 000025 00 0 0 1
- \[ 4\] \.symtab SYMTAB 00000000 00016c 000050 10 5 3 4
- \[ 5\] \.strtab STRTAB 00000000 0001bc 000005 00 0 0 1
+ \[ 4\] \.symtab SYMTAB 00000000 [0-9a-f]+ 000050 10 5 3 4
+ \[ 5\] \.strtab STRTAB 00000000 [0-9a-f]+ 000005 00 0 0 1
Key to Flags:
W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\)
I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 17 section headers, starting at offset 0x21c4:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 18 section headers, starting at offset 0x2168:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 18 section headers, starting at offset 0x2168:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 17 section headers, starting at offset 0x2158:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 17 section headers, starting at offset 0x2158:
+There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 18 section headers, starting at offset 0x21cc:
+There are 18 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 15 section headers, starting at offset 0x2180:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 15 section headers, starting at offset 0x2180:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 15 section headers, starting at offset 0x2178:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 15 section headers, starting at offset 0x2178:
+There are 15 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
#readelf: -d -S --wide
#target: x86_64-*-linux*
-There are 9 section headers, starting at offset 0x1d4:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
-There are 9 section headers, starting at offset 0x80:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al
-There are 9 section headers, starting at offset 0x80:
+There are 9 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Address Off Size ES Flg Lk Inf Al