Allow new just-symbols test to run on XCOFF and PE
authorAlan Modra <amodra@gmail.com>
Mon, 27 Jul 2020 09:18:57 +0000 (18:48 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 27 Jul 2020 13:01:37 +0000 (22:31 +0930)
* testsuite/ld-misc/just-symbols.exp: Run for x86_64 PE too.
Set LDFLAGS for PE and XCOFF.
* testsuite/ld-misc/just-symbols.ld: Accept XCOFF mapped .data.

ld/ChangeLog
ld/testsuite/ld-misc/just-symbols-1.dd
ld/testsuite/ld-misc/just-symbols.exp
ld/testsuite/ld-misc/just-symbols.ld

index ef8f64869e8a9e9861cfdbca9085434cd94ab53f..99dfea8c0ec6baee278e3d7b0b83f440bac6534f 100644 (file)
@@ -1,3 +1,9 @@
+2020-07-27  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/ld-misc/just-symbols.exp: Run for x86_64 PE too.
+       Set LDFLAGS for PE and XCOFF.
+       * testsuite/ld-misc/just-symbols.ld: Accept XCOFF mapped .data.
+
 2020-07-27  Alan Modra  <amodra@gmail.com>
 
        * testsuite/lib/ld-lib.exp (check_ctf_available): Check first that
index 8908a235ae9a05d6d1c078b3c569d43f1c02030a..9502566ac9c32e118e647da864ec54b1783669b4 100644 (file)
@@ -1,5 +1,3 @@
-.*: +file format .*
-
-Contents of section \.data:
+#...
  [0-9a-f]+ (?:(:?12000000|00120000|00000012) 0{8}|0{8} 00000012) 0{8} 0{8} .*
 #pass
index 1c1f866b737994308ce376ba94b7c7c0d50f15db..59c725d0d2c5be28284b29df4b7f018e9067da5f 100644 (file)
 #
 
 # SH/PE targets complain about zero VMA.
-# x86_64/PE targets hardcode VMA to 0x100000000.
-if { [istarget sh-*-pe] \
-     || [istarget x86_64-*-cygwin] \
-     || [istarget x86_64-*-mingw*] \
-     || [istarget x86_64-*-pe] \
-     || [istarget x86_64-*-pep] } {
+if { [istarget sh-*-pe] } {
     return
 }
 
-run_ld_link_tests {
-    {"Object for --just-symbols test"
-     "-r -T just-symbols.ld" ""
-     ""
-     {just-symbols-0.s}
-     {}
-     "just-symbols-0.o"}
-    {"Executable for --just-symbols test"
-     "-e 0 -T just-symbols.ld" ""
-     ""
-     {just-symbols-0.s}
-     {}
-     "just-symbols-0"}
-    {"Object with --just-symbols test"
-     "-e 0 -T just-symbols.ld --just-symbols=tmpdir/just-symbols-0.o" ""
-     ""
-     {just-symbols-1.s}
-     {{objdump {-s -j .data} just-symbols-1.dd}}
-     "just-symbols-1obj"}
-    {"Executable with --just-symbols test"
-     "-e 0 -T just-symbols.ld --just-symbols=tmpdir/just-symbols-0" ""
-     ""
-     {just-symbols-1.s}
-     {{objdump {-s -j .data} just-symbols-1.dd}}
-     "just-symbols-1exe"}
+set saved_LDFLAGS "$LDFLAGS"
+if { [is_pecoff_format] } then {
+    # Avoid auto image-basing.
+    set LDFLAGS "$LDFLAGS --image-base 0"
+} elseif { [is_xcoff_format] } then {
+    set LDFLAGS "$LDFLAGS -bnogc"
 }
+
+run_ld_link_tests [list \
+    [list "Object for --just-symbols test" \
+     "$LDFLAGS -r -T just-symbols.ld" "" \
+     "" \
+     {just-symbols-0.s} \
+     {} \
+     "just-symbols-0.o"] \
+    [list "Executable for --just-symbols test" \
+     "$LDFLAGS -e 0 -T just-symbols.ld" "" \
+     "" \
+     {just-symbols-0.s} \
+     {} \
+     "just-symbols-0"] \
+    [list "Object with --just-symbols test" \
+     "$LDFLAGS -e 0 -T just-symbols.ld --just-symbols=tmpdir/just-symbols-0.o" "" \
+     "" \
+     {just-symbols-1.s} \
+     {{objdump -s just-symbols-1.dd}} \
+     "just-symbols-1obj"] \
+    [list "Executable with --just-symbols test" \
+     "$LDFLAGS -e 0 -T just-symbols.ld --just-symbols=tmpdir/just-symbols-0" "" \
+     "" \
+     {just-symbols-1.s} \
+     {{objdump -s just-symbols-1.dd}} \
+     "just-symbols-1exe"] \
+]
+
+set LDFLAGS "$saved_LDFLAGS"
index 3d6598757a0fe4a5f4a8eeaff303ec3de3f8ff56..51d3b14bfa3d0387995c0189020f4fad3ad7dccf 100644 (file)
@@ -1,7 +1,7 @@
 SECTIONS
 {
   .text : { *(.text) }
-  .data : { *(.data) }
-  .bss  : {  *(.bss) }
+  .data : { *(.data .rw) }
+  .bss  : { *(.bss) }
   /DISCARD/ : { *(*) }
 }