aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-mmix
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-09-10 14:26:25 +0930
committerAlan Modra <amodra@gmail.com>2014-09-11 00:15:51 +0930
commita485e98ea0cbb61ea9da1e7858da545e0bcf1a46 (patch)
treee15a62480177db22789bdaf8ac4178a571e47619 /ld/testsuite/ld-mmix
parent8efa9855823a78b8f465f39ddd8736266a6f31c4 (diff)
downloadgdb-a485e98ea0cbb61ea9da1e7858da545e0bcf1a46.zip
gdb-a485e98ea0cbb61ea9da1e7858da545e0bcf1a46.tar.gz
gdb-a485e98ea0cbb61ea9da1e7858da545e0bcf1a46.tar.bz2
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.
Diffstat (limited to 'ld/testsuite/ld-mmix')
-rw-r--r--ld/testsuite/ld-mmix/bspec1.d6
-rw-r--r--ld/testsuite/ld-mmix/bspec2.d6
-rw-r--r--ld/testsuite/ld-mmix/local1.d2
-rw-r--r--ld/testsuite/ld-mmix/local3.d2
-rw-r--r--ld/testsuite/ld-mmix/local5.d2
-rw-r--r--ld/testsuite/ld-mmix/local7.d2
-rw-r--r--ld/testsuite/ld-mmix/undef-3.d6
7 files changed, 13 insertions, 13 deletions
diff --git a/ld/testsuite/ld-mmix/bspec1.d b/ld/testsuite/ld-mmix/bspec1.d
index 16db5f4..cc5b7fd 100644
--- a/ld/testsuite/ld-mmix/bspec1.d
+++ b/ld/testsuite/ld-mmix/bspec1.d
@@ -3,7 +3,7 @@
#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
@@ -16,9 +16,9 @@ Section Headers:
+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:
#...
diff --git a/ld/testsuite/ld-mmix/bspec2.d b/ld/testsuite/ld-mmix/bspec2.d
index d2fd6dd..2f61c08 100644
--- a/ld/testsuite/ld-mmix/bspec2.d
+++ b/ld/testsuite/ld-mmix/bspec2.d
@@ -6,7 +6,7 @@
#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
@@ -21,9 +21,9 @@ Section Headers:
+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:
#...
diff --git a/ld/testsuite/ld-mmix/local1.d b/ld/testsuite/ld-mmix/local1.d
index 31caa1c..ab91710 100644
--- a/ld/testsuite/ld-mmix/local1.d
+++ b/ld/testsuite/ld-mmix/local1.d
@@ -10,7 +10,7 @@
# (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
diff --git a/ld/testsuite/ld-mmix/local3.d b/ld/testsuite/ld-mmix/local3.d
index 837633c..efcef6d 100644
--- a/ld/testsuite/ld-mmix/local3.d
+++ b/ld/testsuite/ld-mmix/local3.d
@@ -8,7 +8,7 @@
# 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
diff --git a/ld/testsuite/ld-mmix/local5.d b/ld/testsuite/ld-mmix/local5.d
index 3beba4e..a89b9af 100644
--- a/ld/testsuite/ld-mmix/local5.d
+++ b/ld/testsuite/ld-mmix/local5.d
@@ -9,7 +9,7 @@
# 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
diff --git a/ld/testsuite/ld-mmix/local7.d b/ld/testsuite/ld-mmix/local7.d
index b4653fd..cd6a4a7 100644
--- a/ld/testsuite/ld-mmix/local7.d
+++ b/ld/testsuite/ld-mmix/local7.d
@@ -10,7 +10,7 @@
# 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
diff --git a/ld/testsuite/ld-mmix/undef-3.d b/ld/testsuite/ld-mmix/undef-3.d
index 93d7a99..2f551b9 100644
--- a/ld/testsuite/ld-mmix/undef-3.d
+++ b/ld/testsuite/ld-mmix/undef-3.d
@@ -2,7 +2,7 @@
#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
@@ -13,9 +13,9 @@ Section Headers:
+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:
#...