aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2010-05-18 03:31:07 +0000
committerH.J. Lu <hjl.tools@gmail.com>2010-05-18 03:31:07 +0000
commit18ae9cc1db45e2e7f6467b91d8abbc5eb45fbaa5 (patch)
tree8b15ae2b881a6f2a7301ecc8c24bd239f2261942 /ld
parente17c9e56cb62a1791215b8a144ef864f77e4a34f (diff)
downloadbinutils-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/ChangeLog8
-rw-r--r--ld/testsuite/ld-elf/exclude3.s16
-rw-r--r--ld/testsuite/ld-elf/exclude3a.d10
-rw-r--r--ld/testsuite/ld-elf/exclude3b.d9
-rw-r--r--ld/testsuite/ld-elf/exclude3c.d7
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