aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-07 10:28:42 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-07 10:35:58 -0700
commitd4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4 (patch)
tree95f22b0c72cd452bb7b2114d8e6d0a46f34ad42e /binutils
parentf12899e9f081bb857c96999386e64a4252c4a325 (diff)
downloadgdb-d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4.zip
gdb-d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4.tar.gz
gdb-d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4.tar.bz2
Check sh_type/sh_flags/sh_addralign/sh_entsize when copying sh_link/sh_info
When copying the sh_link and sh_info fields in stripped section headers, we also check if the sh_type, sh_flags, /sh_addralign and sh_entsize fields of the output section match the output. Since --only-keep-debug turns all non-debug sections into SHT_NOBITS sections, the output SHT_NOBITS type matches any input type. bfd/ PR binutils/18785 * elf.c (_bfd_elf_copy_private_bfd_data): When copying the sh_link and sh_info fields in stripped section headers, we also check if the sh_type, sh_flags, /sh_addralign and sh_entsize fields of the output section match the output. Since --only-keep-debug turns all non-debug sections into SHT_NOBITS sections, the output SHT_NOBITS type matches any input type. binutils/testsuite/ PR binutils/18785 * binutils-all/objcopy.exp: Run strip-12. * binutils-all/strip-12.d: New file. * binutils-all/strip-12.s: Likewise.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/testsuite/ChangeLog7
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp1
-rw-r--r--binutils/testsuite/binutils-all/strip-12.d7
-rw-r--r--binutils/testsuite/binutils-all/strip-12.s6
4 files changed, 21 insertions, 0 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 8f8f3c2..4f60f93 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/18785
+ * binutils-all/objcopy.exp: Run strip-12.
+ * binutils-all/strip-12.d: New file.
+ * binutils-all/strip-12.s: Likewise.
+
2015-08-07 Andrew Burgess <andrew.burgess@embecosm.com>
* binutils-all/objcopy.exp: Run new symbol tests.
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index 75514e4..cb8e33b 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -1033,6 +1033,7 @@ if [is_elf_format] {
run_dump_test "strip-7"
run_dump_test "strip-8"
run_dump_test "strip-9"
+ run_dump_test "strip-12"
# Non-EABI ARM targets will set OSABI to ARM
# The V850 sets the OSABI to UNIX - System V
if { ![istarget "*-*-hpux*"]
diff --git a/binutils/testsuite/binutils-all/strip-12.d b/binutils/testsuite/binutils-all/strip-12.d
new file mode 100644
index 0000000..a33faab
--- /dev/null
+++ b/binutils/testsuite/binutils-all/strip-12.d
@@ -0,0 +1,7 @@
+#PROG: strip
+#strip:
+#readelf: -S --wide
+
+#...
+ \[[ 0-9]+\] \.bss[ \t]+NOBITS[ \t0-9a-f]+WA[ \t]+0[ \t]+0[ \t]+1
+#pass
diff --git a/binutils/testsuite/binutils-all/strip-12.s b/binutils/testsuite/binutils-all/strip-12.s
new file mode 100644
index 0000000..46b729f
--- /dev/null
+++ b/binutils/testsuite/binutils-all/strip-12.s
@@ -0,0 +1,6 @@
+ .bss
+ .space 8
+ .section .debug_str,"MS",%progbits,1
+ .string ""
+ .section .text.foo,"axG",%progbits,foo,comdat
+ .byte 0