diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2012-09-09 16:31:12 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2012-09-09 16:31:12 +0000 |
commit | 2e0a76321185e15a71cf66d36bb2e29ac6de9afd (patch) | |
tree | 304a753e39dbffc783aac7319476ffd512972541 | |
parent | a9ae0bdaba0b448c7823277964c9ae13063d03a0 (diff) | |
download | gdb-2e0a76321185e15a71cf66d36bb2e29ac6de9afd.zip gdb-2e0a76321185e15a71cf66d36bb2e29ac6de9afd.tar.gz gdb-2e0a76321185e15a71cf66d36bb2e29ac6de9afd.tar.bz2 |
* ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols
to be emitted and checked.
* ld-mmix/data-1.s, ld-mmix/orph-.d, ld-mmix/orph-awp.d,
ld-mmix/orph-d-a.d, ld-mmix/orph-d-awn.d, ld-mmix/orph-d-awp.d,
ld-mmix/orph-d-awpe.d, ld-mmix/orph-d.d, ld-mmix/orph-dc-ap.d,
ld-mmix/orph-dc-awp.d, ld-mmix/orph-dc.d, ld-mmix/tm-ae.s,
ld-mmix/tm-ape.s, ld-mmix/tm-awne.s, ld-mmix/tm-awpe.s,
ld-mmix/tm-d-ap.s, ld-mmix/tm-d-awp.s, ld-mmix/tm-d.s,
ld-mmix/tm-e.s, ld-mmix/tm-orph1.s: New test files.
-rw-r--r-- | ld/testsuite/ChangeLog | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/data-1.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-.d | 26 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-awp.d | 26 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-d-a.d | 30 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-d-awn.d | 31 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-d-awp.d | 33 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-d-awpe.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-d.d | 30 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-dc-ap.d | 34 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-dc-awp.d | 32 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/orph-dc.d | 32 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/sec-1.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/sec-3.d | 15 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-ae.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-ape.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-awne.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-awpe.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-d-ap.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-d-awp.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-d.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-e.s | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-mmix/tm-orph1.s | 3 |
23 files changed, 352 insertions, 4 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index dc9223d..8183bf7 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2012-09-09 Hans-Peter Nilsson <hp@bitrange.com> + + * ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols + to be emitted and checked. + * ld-mmix/data-1.s, ld-mmix/orph-.d, ld-mmix/orph-awp.d, + ld-mmix/orph-d-a.d, ld-mmix/orph-d-awn.d, ld-mmix/orph-d-awp.d, + ld-mmix/orph-d-awpe.d, ld-mmix/orph-d.d, ld-mmix/orph-dc-ap.d, + ld-mmix/orph-dc-awp.d, ld-mmix/orph-dc.d, ld-mmix/tm-ae.s, + ld-mmix/tm-ape.s, ld-mmix/tm-awne.s, ld-mmix/tm-awpe.s, + ld-mmix/tm-d-ap.s, ld-mmix/tm-d-awp.s, ld-mmix/tm-d.s, + ld-mmix/tm-e.s, ld-mmix/tm-orph1.s: New test files. + 2012-08-31 H.J. Lu <hongjiu.lu@intel.com> * ld-i386/i386.exp: Run mov1a, mov1b. diff --git a/ld/testsuite/ld-mmix/data-1.s b/ld/testsuite/ld-mmix/data-1.s new file mode 100644 index 0000000..5b03369 --- /dev/null +++ b/ld/testsuite/ld-mmix/data-1.s @@ -0,0 +1,2 @@ + .data + OCTA #42 diff --git a/ld/testsuite/ld-mmix/orph-.d b/ld/testsuite/ld-mmix/orph-.d new file mode 100644 index 0000000..4aac236 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-.d @@ -0,0 +1,26 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: tm-orph1.s +#source: tm-e.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d.d but without data. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +0+ +g +\.text __TMC_END__ +20+ +g +\*ABS\* __Ebss +20+ +g +\*ABS\* __Edata +0+ +g +\.text _start +20+ +g +\*ABS\* __Eall +20+ +g +\*ABS\* __Sdata +20+ +g +\*ABS\* __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section .MMIX.reg_contents: + 07f0 00000000 00000007 .* diff --git a/ld/testsuite/ld-mmix/orph-awp.d b/ld/testsuite/ld-mmix/orph-awp.d new file mode 100644 index 0000000..eee47b8 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-awp.d @@ -0,0 +1,26 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: tm-orph1.s +#source: tm-awpe.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d-awp.d, but without .data contents. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +20+ +g +\*ABS\* __TMC_END__ +20+ +g +\*ABS\* __Ebss +20+ +g +\*ABS\* __Edata +0+ +g +\.text _start +20+ +g +\*ABS\* __Eall +20+ +g +\*ABS\* __Sdata +20+ +g +\*ABS\* __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.MMIX\.reg_contents: + 07f0 20000000 00000007 .* diff --git a/ld/testsuite/ld-mmix/orph-d-a.d b/ld/testsuite/ld-mmix/orph-d-a.d new file mode 100644 index 0000000..560c072 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-d-a.d @@ -0,0 +1,30 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-ae.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# A section that's just allocated (but not writable and no @progbits). +# Should attach to the .text section due to being read-only. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +0+8 +g +\.text __TMC_END__ +20+8 +g +\.data __Ebss +20+8 +g +\.data __Edata +0+ +g +\.text _start +20+8 +g +\.data __Eall +20+ +g +\.data __Sdata +20+8 +g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.MMIX\.reg_contents: + 07f0 00000000 0000000f .* diff --git a/ld/testsuite/ld-mmix/orph-d-awn.d b/ld/testsuite/ld-mmix/orph-d-awn.d new file mode 100644 index 0000000..0fe1f88 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-d-awn.d @@ -0,0 +1,31 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-awne.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# A section that's "aw",@nobits, i.e. naturally .bss. +# Should attach to the .bss section (but we'll see it as attached to +# .data). + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +20+8 +g +\.data __TMC_END__ +20+8 +g +\.data __Ebss +20+8 +g +\.data __Edata +0+ +g +\.text _start +20+8 +g +\.data __Eall +20+ +g +\.data __Sdata +20+8 +g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.MMIX\.reg_contents: + 07f0 20000000 0000000f .* diff --git a/ld/testsuite/ld-mmix/orph-d-awp.d b/ld/testsuite/ld-mmix/orph-d-awp.d new file mode 100644 index 0000000..43f0a0f --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-d-awp.d @@ -0,0 +1,33 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-awpe.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# An orphan section (.tm_clone_table) would attach after the register +# section, and contents and symbols and related relocations would be +# reduced to be relative to the register section, which is an error. +# We check the original case ("aw",@progbits, to .data or .bss), +# PR ld/1xxxx. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +20+8 +g +\.data __TMC_END__ +20+8 +g +\.data __Ebss +20+8 +g +\.data __Edata +0+ +g +\.text _start +20+8 +g +\.data __Eall +20+ +g +\.data __Sdata +20+8 +g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.MMIX\.reg_contents: + 07f0 20000000 0000000f .* diff --git a/ld/testsuite/ld-mmix/orph-d-awpe.d b/ld/testsuite/ld-mmix/orph-d-awpe.d new file mode 100644 index 0000000..89290fe --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-d-awpe.d @@ -0,0 +1,13 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-d.s +#source: tm-awpe.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#error: overlaps section .text + +# Like orph-d-awp.d but with contents in that section. Also, mismatching +# section flags for the contents will cause a linker error, but we'll +# call this a doctor-it-hurts situation; either list the section in +# the linker script or have consistent section flags. diff --git a/ld/testsuite/ld-mmix/orph-d.d b/ld/testsuite/ld-mmix/orph-d.d new file mode 100644 index 0000000..8bfaf24 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-d.d @@ -0,0 +1,30 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-e.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d-awp.d but a section without specified flags; should +# attach to .debug_info, i.e. have address 0. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 +g +\.text __etext +0+ +g +\.text __TMC_END__ +20+8 +g +\.data __Ebss +20+8 +g +\.data __Edata +0+ +g +\.text _start +20+8 +g +\.data __Eall +20+ +g +\.data __Sdata +20+8 +g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section .MMIX.reg_contents: + 07f0 00000000 00000007 .* diff --git a/ld/testsuite/ld-mmix/orph-dc-ap.d b/ld/testsuite/ld-mmix/orph-dc-ap.d new file mode 100644 index 0000000..cebfbf0 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-dc-ap.d @@ -0,0 +1,34 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-d-ap.s +#source: tm-ape.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d-a.d but with contents in that section (and with +# @progbits, which doesn't reflect in flags), making sure it's really +# treated as .text contents. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+18 +g +\*ABS\* __etext +0+18 +g +\*ABS\* __TMC_END__ +20+8 +g +\.data __Ebss +20+8 +g +\.data __Edata +0+ +g +\.text _start +20+8 +g +\.data __Eall +20+ +g +\.data __Sdata +20+8 +g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.tm_clone_table: + 0008 000004d2 0000162e 008adf38 00c8860c .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.MMIX\.reg_contents: + 07f0 00000000 0000001f .* diff --git a/ld/testsuite/ld-mmix/orph-dc-awp.d b/ld/testsuite/ld-mmix/orph-dc-awp.d new file mode 100644 index 0000000..61196c1 --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-dc-awp.d @@ -0,0 +1,32 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-d-awp.s +#source: tm-awpe.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d-awp.d, but with contents in the extra section. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 g +\.text __etext +2000000000000018 +g +\*ABS\* __TMC_END__ +2000000000000018 g +\*ABS\* __Ebss +2000000000000018 g +\*ABS\* __Edata +0+ g +\.text _start +2000000000000018 g +\*ABS\* __Eall +20+ g +.data __Sdata +2000000000000018 g +\*ABS\* __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.tm_clone_table: + 2000000000000008 000004d2 0000162e 008adf38 00c8860c .* +Contents of section \.MMIX\.reg_contents: + 07f0 20000000 0000001f .* diff --git a/ld/testsuite/ld-mmix/orph-dc.d b/ld/testsuite/ld-mmix/orph-dc.d new file mode 100644 index 0000000..69c8d4e --- /dev/null +++ b/ld/testsuite/ld-mmix/orph-dc.d @@ -0,0 +1,32 @@ +#as: -linker-allocated-gregs +#source: start.s +#source: data-1.s +#source: tm-orph1.s +#source: tm-d.s +#source: tm-e.s +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -rst + +# Like orph-d.d but with contents in the section without specified flags. + +.*: file format mmo + +SYMBOL TABLE: +0+ +g +\.text Main +0+8 g +.text __etext +0+10 +g +\*ABS\* __TMC_END__ +2000000000000008 g +\.data __Ebss +2000000000000008 g +\.data __Edata +0+ +g +\.text _start +2000000000000008 g +\.data __Eall +2000000000000000 g +\.data __Sdata +2000000000000008 g +\.data __Sbss + +Contents of section \.text: + 0000 e3fd0001 23fcfe00 .* +Contents of section \.data: + 2000000000000004 00000042 .* +Contents of section \.tm_clone_table: + 0000 000004d2 0000162e 008adf38 00c8860c .* +Contents of section .MMIX.reg_contents: + 07f0 00000000 00000017 .* diff --git a/ld/testsuite/ld-mmix/sec-1.d b/ld/testsuite/ld-mmix/sec-1.d index eab62a2..5e31b3f 100644 --- a/ld/testsuite/ld-mmix/sec-1.d +++ b/ld/testsuite/ld-mmix/sec-1.d @@ -1,8 +1,8 @@ #source: sec-1.s #source: start.s -#ld: -m elf64mmix +#ld: -m elf64mmix -u _etext -u _edata -u _end #objcopy_linked_file: -O mmo -#objdump: -sh +#objdump: -sht # Test conversion from ELF to mmo with non-mmo-sections present, # testing that support. @@ -21,6 +21,15 @@ Idx Name Size VMA LMA File off Algn CONTENTS, ALLOC, LOAD, DATA 4 thirdsec 0+a 0+ 0+ 0+ 2\*\*2 CONTENTS, READONLY + +SYMBOL TABLE: +#... +0+1d g +\*ABS\* _etext +#... +2000000000000013 g +\*ABS\* __bss_start +2000000000000013 g +\*ABS\* _edata +2000000000000018 g +\*ABS\* _end + Contents of section \.text: 0000 e3fd0001 .* Contents of section secname: diff --git a/ld/testsuite/ld-mmix/sec-3.d b/ld/testsuite/ld-mmix/sec-3.d index 791b5ea..290052b 100644 --- a/ld/testsuite/ld-mmix/sec-3.d +++ b/ld/testsuite/ld-mmix/sec-3.d @@ -1,8 +1,8 @@ #source: sec-1.s #source: start.s #source: data1.s -#ld: -m mmo -#objdump: -sh +#ld: -m mmo -u __etext -u __Sdata -u __Edata -u __Sbss -u __Ebss -u __Eall +#objdump: -sht .*: file format mmo @@ -20,6 +20,17 @@ Idx Name Size VMA LMA File off Algn CONTENTS, ALLOC, LOAD, DATA 5 thirdsec 0+a 0+ 0+ 0+ 2\*\*2 CONTENTS, READONLY + +SYMBOL TABLE: +#... +0+30 g +\*ABS\* __etext +200000000000001c g +\*ABS\* __Ebss +200000000000001b g +\*ABS\* __Edata +#... +200000000000001c g +\*ABS\* __Eall +20+ g +\.data __Sdata +200000000000001c g +\*ABS\* __Sbss + Contents of section \.text: 0000 e3fd0001 .* Contents of section secname: diff --git a/ld/testsuite/ld-mmix/tm-ae.s b/ld/testsuite/ld-mmix/tm-ae.s new file mode 100644 index 0000000..c2bf0c8 --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-ae.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"a" + .global __TMC_END__ +__TMC_END__ IS @ diff --git a/ld/testsuite/ld-mmix/tm-ape.s b/ld/testsuite/ld-mmix/tm-ape.s new file mode 100644 index 0000000..262526d --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-ape.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"a",@progbits + .global __TMC_END__ +__TMC_END__ IS @ diff --git a/ld/testsuite/ld-mmix/tm-awne.s b/ld/testsuite/ld-mmix/tm-awne.s new file mode 100644 index 0000000..d293bfb --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-awne.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"aw",@nobits + .global __TMC_END__ +__TMC_END__ IS @ diff --git a/ld/testsuite/ld-mmix/tm-awpe.s b/ld/testsuite/ld-mmix/tm-awpe.s new file mode 100644 index 0000000..7bec1bb --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-awpe.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"aw",@progbits + .global __TMC_END__ +__TMC_END__ IS @ diff --git a/ld/testsuite/ld-mmix/tm-d-ap.s b/ld/testsuite/ld-mmix/tm-d-ap.s new file mode 100644 index 0000000..3d8da96 --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-d-ap.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"a",@progbits + TETRA 1234,5678 + TETRA 9101112,13141516 diff --git a/ld/testsuite/ld-mmix/tm-d-awp.s b/ld/testsuite/ld-mmix/tm-d-awp.s new file mode 100644 index 0000000..ddae51a --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-d-awp.s @@ -0,0 +1,3 @@ + .section .tm_clone_table,"aw",@progbits + TETRA 1234,5678 + TETRA 9101112,13141516 diff --git a/ld/testsuite/ld-mmix/tm-d.s b/ld/testsuite/ld-mmix/tm-d.s new file mode 100644 index 0000000..8e2e79f --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-d.s @@ -0,0 +1,3 @@ + .section .tm_clone_table + TETRA 1234,5678 + TETRA 9101112,13141516 diff --git a/ld/testsuite/ld-mmix/tm-e.s b/ld/testsuite/ld-mmix/tm-e.s new file mode 100644 index 0000000..a9e0934 --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-e.s @@ -0,0 +1,3 @@ + .section .tm_clone_table + .global __TMC_END__ +__TMC_END__ IS @ diff --git a/ld/testsuite/ld-mmix/tm-orph1.s b/ld/testsuite/ld-mmix/tm-orph1.s new file mode 100644 index 0000000..4d1ae7f --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-orph1.s @@ -0,0 +1,3 @@ + .text +f: + LDA $252,__TMC_END__+7 |