From: Hans-Peter Nilsson Date: Sun, 9 Sep 2012 16:31:12 +0000 (+0000) Subject: * ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2e0a76321185e15a71cf66d36bb2e29ac6de9afd;p=binutils-gdb.git * 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. --- diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index dc9223daa6f..8183bf7042d 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2012-09-09 Hans-Peter Nilsson + + * 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 * 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 00000000000..5b033697e1d --- /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 00000000000..4aac2369abd --- /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 00000000000..eee47b8a125 --- /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 00000000000..560c0721529 --- /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 00000000000..0fe1f882e9a --- /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 00000000000..43f0a0f4bf2 --- /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 00000000000..89290feaa87 --- /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 00000000000..8bfaf248a5e --- /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 00000000000..cebfbf0d23c --- /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 00000000000..61196c13769 --- /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 00000000000..69c8d4edcbe --- /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 eab62a2f03a..5e31b3fd645 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 791b5ea2aa1..290052b99eb 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 00000000000..c2bf0c8d30f --- /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 00000000000..262526dc9c6 --- /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 00000000000..d293bfb806b --- /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 00000000000..7bec1bb603c --- /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 00000000000..3d8da96155a --- /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 00000000000..ddae51a96e4 --- /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 00000000000..8e2e79f220a --- /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 00000000000..a9e09344b12 --- /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 00000000000..4d1ae7fd2ee --- /dev/null +++ b/ld/testsuite/ld-mmix/tm-orph1.s @@ -0,0 +1,3 @@ + .text +f: + LDA $252,__TMC_END__+7