diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2010-05-18 03:31:07 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2010-05-18 03:31:07 +0000 |
commit | 18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5 (patch) | |
tree | 8b15ae2b881a6f2a7301ecc8c24bd239f2261942 /binutils/testsuite | |
parent | e17c9e56cb62a1791215b8a144ef864f77e4a34f (diff) | |
download | fsf-binutils-gdb-18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5.zip fsf-binutils-gdb-18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5.tar.gz fsf-binutils-gdb-18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5.tar.bz2 |
Implement generic SHF_EXCLUDE.
bfd/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE
(elf_fake_sections): Likewise.
* elf32-i370.c (i370_elf_section_from_shdr): Don't handle
SHF_EXCLUDE here.
* elf32-ppc.c (ppc_elf_fake_sections): Likewise.
binutils/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* readelf.c (get_elf_section_flags): Treat SHF_EXCLUDE as a
generic flag.
binutils/testsuite/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* binutils-all/objcopy.exp: Run exclude-1a and exclude-1b for
ELF targets.
* binutils-all/exclude-1.s: New.
* binutils-all/exclude-1a.d: Likewise.
* binutils-all/exclude-1b.d: Likewise.
gas/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE.
(obj_elf_parse_section_letters): Likewise.
(obj_elf_section_word): Likewise.
* config/tc-ppc.c (ppc_section_letter): Removed.
(ppc_section_word): Likewise.
* config/tc-ppc.h (ppc_section_letter): Likewise.
(ppc_section_word): Likewise.
(md_elf_section_letter): Likewise.
(md_elf_section_word): Likewise.
* doc/as.texinfo: Document `e' and `#exclude'.
gas/testsuite/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* gas/elf/elf.exp: Run section8.
* gas/elf/section8.d: New.
* gas/elf/section8.s: Likewise.
include/elf/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* common.h (SHF_EXCLUDE): New.
* i370.h (SHF_EXCLUDE): Removed.
* or32.h (SHF_EXCLUDE): Likewise.
* ppc.h (SHF_EXCLUDE): Likewise.
* sparc.h (SHF_EXCLUDE): Likewise.
ld/testsuite/
2010-05-18 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11600
* ld-elf/exclude3.s: New.
* ld-elf/exclude3a.d: Likewise.
* ld-elf/exclude3b.d: Likewise.
* ld-elf/exclude3c.d: Likewise.
Diffstat (limited to 'binutils/testsuite')
-rw-r--r-- | binutils/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/exclude-1.s | 16 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/exclude-1a.d | 9 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/exclude-1b.d | 9 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 3 |
5 files changed, 47 insertions, 0 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 3b08cda..1f4d19b 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2010-05-18 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/11600 + * binutils-all/objcopy.exp: Run exclude-1a and exclude-1b for + ELF targets. + + * binutils-all/exclude-1.s: New. + * binutils-all/exclude-1a.d: Likewise. + * binutils-all/exclude-1b.d: Likewise. + 2010-04-30 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/dlltool.exp: Add a missing `"'. diff --git a/binutils/testsuite/binutils-all/exclude-1.s b/binutils/testsuite/binutils-all/exclude-1.s new file mode 100644 index 0000000..475088f --- /dev/null +++ b/binutils/testsuite/binutils-all/exclude-1.s @@ -0,0 +1,16 @@ + .text + .type start,"function" + .global start +start: + .type _start,"function" + .global _start +_start: + .type __start,"function" + .global __start +__start: + .type main,"function" + .global main +main: + .long 0 + .section .foo1,"e", %progbits + .byte 0,0,0,0 diff --git a/binutils/testsuite/binutils-all/exclude-1a.d b/binutils/testsuite/binutils-all/exclude-1a.d new file mode 100644 index 0000000..3a311b5 --- /dev/null +++ b/binutils/testsuite/binutils-all/exclude-1a.d @@ -0,0 +1,9 @@ +#PROG: objcopy +#source: exclude-1.s +#objcopy: +#readelf: -S --wide +#name: objcopy on sections with SHF_EXCLUDE + +#... +[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.* +#pass diff --git a/binutils/testsuite/binutils-all/exclude-1b.d b/binutils/testsuite/binutils-all/exclude-1b.d new file mode 100644 index 0000000..ac387fb --- /dev/null +++ b/binutils/testsuite/binutils-all/exclude-1b.d @@ -0,0 +1,9 @@ +#PROG: strip +#source: exclude-1.s +#strip: --strip-unneeded +#readelf: -S --wide +#name: strip --strip-unneeded on sections with SHF_EXCLUDE + +#... +[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.* +#pass diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index 5c7de8c..94a31aa 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -880,5 +880,8 @@ if [is_elf_format] { run_dump_test "add-section" run_dump_test "add-empty-section" + + run_dump_test "exclude-1a" + run_dump_test "exclude-1b" } run_dump_test "localize-hidden-2" |