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 /ld | |
parent | e17c9e56cb62a1791215b8a144ef864f77e4a34f (diff) | |
download | binutils-18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5.zip binutils-18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5.tar.gz binutils-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 'ld')
-rw-r--r-- | ld/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/exclude3.s | 16 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/exclude3a.d | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/exclude3b.d | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/exclude3c.d | 7 |
5 files changed, 50 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index bafd3bb..61daf44 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,11 @@ +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. + 2010-05-11 Andrew Stubbs <ams@codesourcery.com> * ld-arm/attr-merge-2.attr: Add Tag_DIV_use. diff --git a/ld/testsuite/ld-elf/exclude3.s b/ld/testsuite/ld-elf/exclude3.s new file mode 100644 index 0000000..475088f --- /dev/null +++ b/ld/testsuite/ld-elf/exclude3.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/ld/testsuite/ld-elf/exclude3a.d b/ld/testsuite/ld-elf/exclude3a.d new file mode 100644 index 0000000..7343e45 --- /dev/null +++ b/ld/testsuite/ld-elf/exclude3a.d @@ -0,0 +1,10 @@ +#source: exclude3.s +#ld: +#readelf: -S --wide +#target: x86_64-*-* i?86-*-* ia64-*-* + +#... +[ ]*\[.*\][ ]+NULL.* +[ ]*\[.*\][ ]+\.text[ ]+PROGBITS.* +[ ]*\[.*\][ ]+.*STRTAB.* +#pass diff --git a/ld/testsuite/ld-elf/exclude3b.d b/ld/testsuite/ld-elf/exclude3b.d new file mode 100644 index 0000000..f640449 --- /dev/null +++ b/ld/testsuite/ld-elf/exclude3b.d @@ -0,0 +1,9 @@ +#source: exclude3.s +#ld: --shared +#readelf: -S --wide +#target: x86_64-*-* i?86-*-* ia64-*-* + +#... +[ ]*\[.*\][ ]+\.got.*[ ]+PROGBITS.* +[ ]*\[.*\][ ]+.*STRTAB.* +#pass diff --git a/ld/testsuite/ld-elf/exclude3c.d b/ld/testsuite/ld-elf/exclude3c.d new file mode 100644 index 0000000..57311c8 --- /dev/null +++ b/ld/testsuite/ld-elf/exclude3c.d @@ -0,0 +1,7 @@ +#source: exclude3.s +#ld: -r +#readelf: -S --wide + +#... +[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.* +#pass |