* ld-mmix/sec-1.d, ld-mmix/sec-3.d: Force end-of-section symbols
authorHans-Peter Nilsson <hp@axis.com>
Sun, 9 Sep 2012 16:31:12 +0000 (16:31 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sun, 9 Sep 2012 16:31:12 +0000 (16:31 +0000)
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.

23 files changed:
ld/testsuite/ChangeLog
ld/testsuite/ld-mmix/data-1.s [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-awp.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-d-a.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-d-awn.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-d-awp.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-d-awpe.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-d.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-dc-ap.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-dc-awp.d [new file with mode: 0644]
ld/testsuite/ld-mmix/orph-dc.d [new file with mode: 0644]
ld/testsuite/ld-mmix/sec-1.d
ld/testsuite/ld-mmix/sec-3.d
ld/testsuite/ld-mmix/tm-ae.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-ape.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-awne.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-awpe.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-d-ap.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-d-awp.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-d.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-e.s [new file with mode: 0644]
ld/testsuite/ld-mmix/tm-orph1.s [new file with mode: 0644]

index dc9223d..8183bf7 100644 (file)
@@ -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 (file)
index 0000000..5b03369
--- /dev/null
@@ -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 (file)
index 0000000..4aac236
--- /dev/null
@@ -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 (file)
index 0000000..eee47b8
--- /dev/null
@@ -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 (file)
index 0000000..560c072
--- /dev/null
@@ -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 (file)
index 0000000..0fe1f88
--- /dev/null
@@ -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 (file)
index 0000000..43f0a0f
--- /dev/null
@@ -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 (file)
index 0000000..89290fe
--- /dev/null
@@ -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 (file)
index 0000000..8bfaf24
--- /dev/null
@@ -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 (file)
index 0000000..cebfbf0
--- /dev/null
@@ -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 (file)
index 0000000..61196c1
--- /dev/null
@@ -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 (file)
index 0000000..69c8d4e
--- /dev/null
@@ -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 .*
index eab62a2..5e31b3f 100644 (file)
@@ -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:
index 791b5ea..290052b 100644 (file)
@@ -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 (file)
index 0000000..c2bf0c8
--- /dev/null
@@ -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 (file)
index 0000000..262526d
--- /dev/null
@@ -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 (file)
index 0000000..d293bfb
--- /dev/null
@@ -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 (file)
index 0000000..7bec1bb
--- /dev/null
@@ -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 (file)
index 0000000..3d8da96
--- /dev/null
@@ -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 (file)
index 0000000..ddae51a
--- /dev/null
@@ -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 (file)
index 0000000..8e2e79f
--- /dev/null
@@ -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 (file)
index 0000000..a9e0934
--- /dev/null
@@ -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 (file)
index 0000000..4d1ae7f
--- /dev/null
@@ -0,0 +1,3 @@
+       .text
+f:
+        LDA $252,__TMC_END__+7