binutils-gdb/ld/testsuite/ld-tic6x/shlib-1r.rd
Alan Modra a485e98ea0 Move ELF section headers to end of object file
Currently, section ordering differs a little for non-loaded reloc
sections output by ld -emit-relocs or ld -r and that after passing
such objects through objcopy.  Not that it really matters, but it
would be better for a simple objcopy to produce an unchanged output
object file.  Also, section headers are put somewhere in the middle of
the non-loaded sections, again slightly differently for ld and
objcopy.  This patch fixes these discrepancies and puts section
headers last, which is where gold puts them, and is where
bfd_from_remote_memory wrongly assumed they will be found.

bfd/
	* 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.
gas/testsuite/
	* 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.
ld/testsuite/
	* 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-11 00:15:51 +09:30

125 lines
6.5 KiB
R

There are 17 section headers, starting at offset .*:
Section Headers:
\[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al
\[ 0\] NULL 00000000 000000 000000 00 0 0 0
\[ 1\] \.hash HASH 00008000 001000 000048 04 A 2 0 4
\[ 2\] \.dynsym DYNSYM 00008048 001048 0000d0 10 A 3 6 4
\[ 3\] \.dynstr STRTAB 00008118 001118 000025 00 A 0 0 1
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
\[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
\[11\] \.neardata PROGBITS 10000128 002128 000008 00 WA 0 0 4
\[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4
\[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1
\[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1
\[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4
\[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 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\)
O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
Elf file type is DYN \(Shared object file\)
Entry point 0x10000080
There are 4 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x001000 0x00008000 0x00008000 0x00224 0x00224 RW 0x1000
LOAD 0x002000 0x10000000 0x10000000 0x00130 0x00134 RWE 0x1000
DYNAMIC 0x00117c 0x0000817c 0x0000817c 0x000a8 0x000a8 RW 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x20000 RWE 0x8
Section to Segment mapping:
Segment Sections\.\.\.
00 \.hash \.dynsym \.dynstr \.rela\.got \.rela\.neardata \.dynamic
01 \.rela\.plt \.plt \.text \.got \.neardata \.bss
02 \.dynamic
03
Dynamic section at offset 0x117c contains 16 entries:
Tag Type Name/Value
0x00000004 \(HASH\) 0x8000
0x00000005 \(STRTAB\) 0x8118
0x00000006 \(SYMTAB\) 0x8048
0x0000000a \(STRSZ\) 37 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
0x70000000 \(C6000_DSBT_BASE\) 0x10000100
0x70000001 \(C6000_DSBT_SIZE\) 0x3
0x70000003 \(C6000_DSBT_INDEX\) 0x2
0x00000003 \(PLTGOT\) 0x1000010c
0x00000002 \(PLTRELSZ\) 24 \(bytes\)
0x00000014 \(PLTREL\) RELA
0x00000017 \(JMPREL\) 0x10000000
0x00000007 \(RELA\) 0x8140
0x00000008 \(RELASZ\) 84 \(bytes\)
0x00000009 \(RELAENT\) 12 \(bytes\)
0x00000000 \(NULL\) 0x0
Relocation section '\.rela\.got' at offset 0x1140 contains 3 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
10000120 00000501 R_C6000_ABS32 10000130 \.bss \+ 0
1000011c 00000701 R_C6000_ABS32 00000000 b \+ 0
10000124 00000b01 R_C6000_ABS32 10000128 a \+ 0
Relocation section '\.rela\.neardata' at offset 0x1164 contains 2 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
10000128 00000a01 R_C6000_ABS32 10000088 sub0 \+ 0
1000012c 00000801 R_C6000_ABS32 00000000 g1 \+ 0
Relocation section '\.rela\.plt' at offset 0x2000 contains 2 entries:
Offset Info Type Sym\. Value Symbol's Name \+ Addend
10000114 00000a1b R_C6000_JUMP_SLOT 10000088 sub0 \+ 0
10000118 00000c1b R_C6000_JUMP_SLOT 100000c0 sub \+ 0
Symbol table '\.dynsym' contains 13 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 10000020 0 SECTION LOCAL DEFAULT 8
2: 10000080 0 SECTION LOCAL DEFAULT 9
3: 10000100 0 SECTION LOCAL DEFAULT 10
4: 10000128 0 SECTION LOCAL DEFAULT 11
5: 10000130 0 SECTION LOCAL DEFAULT 12
6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE
7: 00000000 0 NOTYPE WEAK DEFAULT UND b
8: 00000000 0 NOTYPE WEAK DEFAULT UND g1
9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2
10: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0
11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a
12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub
Symbol table '\.symtab' contains [0-9]+ entries:
Num: Value Size Type Bind Vis Ndx Name
.* 00000000 0 NOTYPE LOCAL DEFAULT UND
.* 00008000 0 SECTION LOCAL DEFAULT 1
.* 00008048 0 SECTION LOCAL DEFAULT 2
.* 00008118 0 SECTION LOCAL DEFAULT 3
.* 00008140 0 SECTION LOCAL DEFAULT 4
.* 00008164 0 SECTION LOCAL DEFAULT 5
.* 0000817c 0 SECTION LOCAL DEFAULT 6
.* 10000000 0 SECTION LOCAL DEFAULT 7
.* 10000020 0 SECTION LOCAL DEFAULT 8
.* 10000080 0 SECTION LOCAL DEFAULT 9
.* 10000100 0 SECTION LOCAL DEFAULT 10
.* 10000128 0 SECTION LOCAL DEFAULT 11
.* 10000130 0 SECTION LOCAL DEFAULT 12
.* 00000000 0 SECTION LOCAL DEFAULT 13
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1
.* 10000130 4 OBJECT LOCAL DEFAULT 12 c
.* 00000000 0 FILE LOCAL DEFAULT ABS .*
.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE
.* 00000000 0 NOTYPE WEAK DEFAULT UND b
.* 00000000 0 NOTYPE WEAK DEFAULT UND g1
.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2
.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0
.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a
.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub