Browse Source
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.gdb_7_2-branch
31 changed files with 187 additions and 64 deletions
@ -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 |
|||
@ -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 |
|||
@ -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 |
|||
@ -0,0 +1,6 @@ |
|||
#readelf: -S --wide |
|||
#name: section flags |
|||
|
|||
#... |
|||
[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.* |
|||
#pass |
|||
@ -0,0 +1,2 @@ |
|||
.section .foo1,"e", %progbits |
|||
.byte 0,0,0,0 |
|||
@ -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 |
|||
@ -0,0 +1,10 @@ |
|||
#source: exclude3.s |
|||
#ld: |
|||
#readelf: -S --wide |
|||
#target: x86_64-*-* i?86-*-* ia64-*-* |
|||
|
|||
#... |
|||
[ ]*\[.*\][ ]+NULL.* |
|||
[ ]*\[.*\][ ]+\.text[ ]+PROGBITS.* |
|||
[ ]*\[.*\][ ]+.*STRTAB.* |
|||
#pass |
|||
@ -0,0 +1,9 @@ |
|||
#source: exclude3.s |
|||
#ld: --shared |
|||
#readelf: -S --wide |
|||
#target: x86_64-*-* i?86-*-* ia64-*-* |
|||
|
|||
#... |
|||
[ ]*\[.*\][ ]+\.got.*[ ]+PROGBITS.* |
|||
[ ]*\[.*\][ ]+.*STRTAB.* |
|||
#pass |
|||
@ -0,0 +1,7 @@ |
|||
#source: exclude3.s |
|||
#ld: -r |
|||
#readelf: -S --wide |
|||
|
|||
#... |
|||
[ ]*\[.*\][ ]+\.foo1[ ]+PROGBITS.*[ ]+E[ ]+.* |
|||
#pass |
|||
Loading…
Reference in new issue