aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-elf
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-05-15 14:22:36 +0000
committerAlan Modra <amodra@gmail.com>2009-05-15 14:22:36 +0000
commitd127ecce68b9052033148696008a8a905f661301 (patch)
treec4b31acc130ee14648913fb99d0a280de36dcb3c /ld/testsuite/ld-elf
parent0643c12ee1f4e258e1efea52d46b4c4e67fc8f78 (diff)
downloadgdb-d127ecce68b9052033148696008a8a905f661301.zip
gdb-d127ecce68b9052033148696008a8a905f661301.tar.gz
gdb-d127ecce68b9052033148696008a8a905f661301.tar.bz2
ld/
* ldlang.c (lang_output_section_statement_lookup): Add function comment. Make "name" non-const. Ensure duplicate entries use the same string, allowing simple comparison in hash bucket loop. Tweak constraint check. (next_matching_output_section_statement): New function. * ldlang.h (lang_output_section_statement_lookup): Update. (next_matching_output_section_statement): Declare. * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't combine orphan sections when input sections flags differ in alloc or load. * emultempl/pe.em: Formatting throughout. (gld${EMULATION_NAME}_place_orphan): As for elf32.em. * emultempl/pep.em: Formatting throughout. (gld${EMULATION_NAME}_place_orphan): As for elf32.em. ld/testsuite/ * ld-elf/orphan3.d, * ld-elf/orphan3a.s, * ld-elf/orphan3b.s, * ld-elf/orphan3c.s, * ld-elf/orphan3d.s, * ld-elf/orphan3e.s, * ld-elf/orphan3f.s: New test. * ld-pe/orphan.d, * ld-pe/orphana.s, * ld-pe/orphanb.s, * ld-pe/orphand.s, * ld-pe/orphane.s: New test. * ld-pe/direct.exp: Use is_pecoff_format. * ld-pe/longsecn.exp: Delete. * ld-pe/pe.exp: Run new test and longsecn tests.
Diffstat (limited to 'ld/testsuite/ld-elf')
-rw-r--r--ld/testsuite/ld-elf/orphan3.d21
-rw-r--r--ld/testsuite/ld-elf/orphan3a.s12
-rw-r--r--ld/testsuite/ld-elf/orphan3b.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3c.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3d.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3e.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3f.s2
7 files changed, 43 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/orphan3.d b/ld/testsuite/ld-elf/orphan3.d
new file mode 100644
index 0000000..4a03437
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3.d
@@ -0,0 +1,21 @@
+#source: orphan3a.s
+#source: orphan3b.s
+#source: orphan3c.s
+#source: orphan3d.s
+#source: orphan3e.s
+#source: orphan3f.s
+#ld:
+#readelf: -S --wide
+#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-*"
+#xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
+#xfail: "or32-*-*" "pj-*-*"
+#xfail: "cr16-*-*" "crx-*-*" "d10v-*-*" "xstormy16-*-*"
+
+#...
+ \[[ 0-9]+\] \.foo +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+8 +0+ +A +0 +0 +[0-9]+
+#...
+ \[[ 0-9]+\] \.foo +NOBITS +[0-9a-f]+ +[0-9a-f]+ +0+8 +0+ +A +0 +0 +[0-9]+
+#...
+ \[[ 0-9]+\] \.foo +PROGBITS +0+ +[0-9a-f]+ +0+8 +0+ +0 +0 +[0-9]+
+ \[[ 0-9]+\] \.[^f].*
+#pass
diff --git a/ld/testsuite/ld-elf/orphan3a.s b/ld/testsuite/ld-elf/orphan3a.s
new file mode 100644
index 0000000..7589dea
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3a.s
@@ -0,0 +1,12 @@
+ .globl main
+ .globl start
+ .globl _start
+ .globl __start
+ .text
+main:
+start:
+_start:
+__start:
+
+ .section .foo,"a",%nobits
+ .space 4
diff --git a/ld/testsuite/ld-elf/orphan3b.s b/ld/testsuite/ld-elf/orphan3b.s
new file mode 100644
index 0000000..f57d3be
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3b.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%progbits
+ .long 1
diff --git a/ld/testsuite/ld-elf/orphan3c.s b/ld/testsuite/ld-elf/orphan3c.s
new file mode 100644
index 0000000..fedcf09
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3c.s
@@ -0,0 +1,2 @@
+ .section .foo,"",%progbits
+ .long 2
diff --git a/ld/testsuite/ld-elf/orphan3d.s b/ld/testsuite/ld-elf/orphan3d.s
new file mode 100644
index 0000000..1cf21bd
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3d.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%nobits
+ .space 4
diff --git a/ld/testsuite/ld-elf/orphan3e.s b/ld/testsuite/ld-elf/orphan3e.s
new file mode 100644
index 0000000..bcd7a18
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3e.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%progbits
+ .long 4
diff --git a/ld/testsuite/ld-elf/orphan3f.s b/ld/testsuite/ld-elf/orphan3f.s
new file mode 100644
index 0000000..aa0c754
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3f.s
@@ -0,0 +1,2 @@
+ .section .foo,"",%progbits
+ .long 5