diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-08-07 10:28:42 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-08-07 10:35:58 -0700 |
commit | d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4 (patch) | |
tree | 95f22b0c72cd452bb7b2114d8e6d0a46f34ad42e /binutils | |
parent | f12899e9f081bb857c96999386e64a4252c4a325 (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 1 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/strip-12.d | 7 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/strip-12.s | 6 |
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 |