sparc-sun-solaris2 and sparc64-sun-solaris2 config
authorAlan Modra <amodra@gmail.com>
Wed, 6 Jan 2021 01:31:10 +0000 (12:01 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 6 Jan 2021 10:33:55 +0000 (21:03 +1030)
A bunch of ld tests fail on these targets due to the test specifying
-melf32_sparc or -melf64_sparc, which according to ld/configure.tgt
are valid.  However, config.bfd lacks the corresponding bfd target
resulting in an error.  Fix that by adding target_selvecs.

bfd/
* config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
(sparc64-*-solaris2*): Add sparc_elf64_vec and
sparc_elf32_vec.
ld/
* testsuite/ld-sparc/sparc.exp (sparc64tests): Set text-segment
base for some tests.
* testsuite/ld-sparc/gotop32.dd: Match solaris output.
* testsuite/ld-sparc/gotop32.sd: Likewise.
* testsuite/ld-sparc/gotop32.td: Likewise.
* testsuite/ld-sparc/gotop64.dd: Likewise.
* testsuite/ld-sparc/gotop64.sd: Likewise.
* testsuite/ld-sparc/gotop64.td: Likewise.
* testsuite/ld-sparc/tlsg32.sd: Likewise.
* testsuite/ld-sparc/tlsg64.sd: Likewise.
* testsuite/ld-sparc/tlspie32.dd: Likewise.
* testsuite/ld-sparc/tlspie64.dd: Likewise.
* testsuite/ld-sparc/tlssunbin32.dd: Likewise.
* testsuite/ld-sparc/tlssunbin32.sd: Likewise.
* testsuite/ld-sparc/tlssunbin32.td: Likewise.
* testsuite/ld-sparc/tlssunbin64.dd: Likewise.
* testsuite/ld-sparc/tlssunbin64.sd: Likewise.
* testsuite/ld-sparc/tlssunbin64.td: Likewise.
* testsuite/ld-sparc/tlssunnopic32.dd: Likewise.
* testsuite/ld-sparc/tlssunnopic32.sd: Likewise.
* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
* testsuite/ld-sparc/tlssunnopic64.sd: Likewise.
* testsuite/ld-sparc/tlssunpic32.dd: Likewise.
* testsuite/ld-sparc/tlssunpic32.sd: Likewise.
* testsuite/ld-sparc/tlssunpic32.td: Likewise.
* testsuite/ld-sparc/tlssunpic64.dd: Likewise.
* testsuite/ld-sparc/tlssunpic64.sd: Likewise.
* testsuite/ld-sparc/tlssunpic64.td: Likewise.
* testsuite/ld-sparc/wdispcall.dd: Likewise.

31 files changed:
bfd/ChangeLog
bfd/config.bfd
ld/ChangeLog
ld/testsuite/ld-sparc/gotop32.dd
ld/testsuite/ld-sparc/gotop32.sd
ld/testsuite/ld-sparc/gotop32.td
ld/testsuite/ld-sparc/gotop64.dd
ld/testsuite/ld-sparc/gotop64.sd
ld/testsuite/ld-sparc/gotop64.td
ld/testsuite/ld-sparc/sparc.exp
ld/testsuite/ld-sparc/tlsg32.sd
ld/testsuite/ld-sparc/tlsg64.sd
ld/testsuite/ld-sparc/tlspie32.dd
ld/testsuite/ld-sparc/tlspie64.dd
ld/testsuite/ld-sparc/tlssunbin32.dd
ld/testsuite/ld-sparc/tlssunbin32.sd
ld/testsuite/ld-sparc/tlssunbin32.td
ld/testsuite/ld-sparc/tlssunbin64.dd
ld/testsuite/ld-sparc/tlssunbin64.sd
ld/testsuite/ld-sparc/tlssunbin64.td
ld/testsuite/ld-sparc/tlssunnopic32.dd
ld/testsuite/ld-sparc/tlssunnopic32.sd
ld/testsuite/ld-sparc/tlssunnopic64.dd
ld/testsuite/ld-sparc/tlssunnopic64.sd
ld/testsuite/ld-sparc/tlssunpic32.dd
ld/testsuite/ld-sparc/tlssunpic32.sd
ld/testsuite/ld-sparc/tlssunpic32.td
ld/testsuite/ld-sparc/tlssunpic64.dd
ld/testsuite/ld-sparc/tlssunpic64.sd
ld/testsuite/ld-sparc/tlssunpic64.td
ld/testsuite/ld-sparc/wdispcall.dd

index a629e8ad6fa7e9468428aa8eebdbb556cdf2825e..b9b5f7b2d38698fee87972b6ea9e92048536215e 100644 (file)
@@ -1,3 +1,9 @@
+2021-01-06  Alan Modra  <amodra@gmail.com>
+
+       * config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
+       (sparc64-*-solaris2*): Add sparc_elf64_vec and
+       sparc_elf32_vec.
+
 2021-01-06  Marcus Comstedt  <marcus@mc.pp.se>
 
        * config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
index bbd0aaa9ef1a1b124167250e439112fa0a613382..e7b55b0dd78db5125705fd362aece1eb459293cc 100644 (file)
@@ -1285,11 +1285,12 @@ case "${targ}" in
 
   sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
     targ_defvec=sparc_elf32_sol2_vec
+    targ_selvecs=sparc_elf32_vec
     ;;
 #ifdef BFD64
   sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
     targ_defvec=sparc_elf32_sol2_vec
-    targ_selvecs="sparc_elf64_sol2_vec"
+    targ_selvecs="sparc_elf64_sol2_vec sparc_elf32_vec sparc_elf64_vec"
     want64=true
     ;;
   sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
index 00b05a0e9e609b059f84f53b05e6f9741584f34a..41fdda1a4cd479c11b926f023597939b7b5b7d4e 100644 (file)
@@ -1,3 +1,35 @@
+2021-01-06  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/ld-sparc/sparc.exp (sparc64tests): Set text-segment
+       base for some tests.
+       * testsuite/ld-sparc/gotop32.dd: Match solaris output.
+       * testsuite/ld-sparc/gotop32.sd: Likewise.
+       * testsuite/ld-sparc/gotop32.td: Likewise.
+       * testsuite/ld-sparc/gotop64.dd: Likewise.
+       * testsuite/ld-sparc/gotop64.sd: Likewise.
+       * testsuite/ld-sparc/gotop64.td: Likewise.
+       * testsuite/ld-sparc/tlsg32.sd: Likewise.
+       * testsuite/ld-sparc/tlsg64.sd: Likewise.
+       * testsuite/ld-sparc/tlspie32.dd: Likewise.
+       * testsuite/ld-sparc/tlspie64.dd: Likewise.
+       * testsuite/ld-sparc/tlssunbin32.dd: Likewise.
+       * testsuite/ld-sparc/tlssunbin32.sd: Likewise.
+       * testsuite/ld-sparc/tlssunbin32.td: Likewise.
+       * testsuite/ld-sparc/tlssunbin64.dd: Likewise.
+       * testsuite/ld-sparc/tlssunbin64.sd: Likewise.
+       * testsuite/ld-sparc/tlssunbin64.td: Likewise.
+       * testsuite/ld-sparc/tlssunnopic32.dd: Likewise.
+       * testsuite/ld-sparc/tlssunnopic32.sd: Likewise.
+       * testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
+       * testsuite/ld-sparc/tlssunnopic64.sd: Likewise.
+       * testsuite/ld-sparc/tlssunpic32.dd: Likewise.
+       * testsuite/ld-sparc/tlssunpic32.sd: Likewise.
+       * testsuite/ld-sparc/tlssunpic32.td: Likewise.
+       * testsuite/ld-sparc/tlssunpic64.dd: Likewise.
+       * testsuite/ld-sparc/tlssunpic64.sd: Likewise.
+       * testsuite/ld-sparc/tlssunpic64.td: Likewise.
+       * testsuite/ld-sparc/wdispcall.dd: Likewise.
+
 2021-01-06  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-scripts/rgn-at10.d: xfail v850.
index 28dd942ce2b13eb328e9bc7dfce20206eb304437..ea1ca13ff8b352f0cd9f2432cd98161676f9d65b 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Disassembly of section .text:
 00001000 <foo-0x8>:
index fc167560da7bebd581d3552741cf70833986fb09..85f4c193fb1c14ad66c4dc59eade95b67d8afb5b 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .got:
  12070 00012000 00000000                    .*
index d933b71f98eac9b9b2e8ef1e5152d83ab6205728..74bc41f6eeada8d1d68c7570233406d9197b2b7d 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.data
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .data:
  13000 12345678 deadbeef                    .*
index e3c59c23671399fca3bce93a2bc456cbd636f154..fc6d3a4c88989040680bded193b21a74be5b7dab 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Disassembly of section .text:
 0000000000001000 <foo-0x8>:
index 9ab0f619ecd2124fd387919462afc94bbad1f64e..316a66b805b858ec8259b137731045186ec00879 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .got:
  1020e0 00000000 00102000 00000000 00000000  .*
index 303cdfee01b117d43d147cc4aee60ae6355f3a78..1e9412ff4cd12d5731c945536c0edf02fcdb00f4 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.data
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .data:
  103000 12345678 deadbeef                    .*
index 7bdf676a7fa85d2f4ffebb04c755e19d06a9c8c7..5621d077361bd2224a6164ea7e642421be601bbc 100644 (file)
@@ -117,7 +117,7 @@ set sparc64tests {
     {"64-bit: Another helper shared library" "-shared -melf64_sparc" ""
      "--64 -Av9 -K PIC" {tlssunbinpic64.s} {} "libtlssunbinpic64.so"}
     {"64-bit: TLS -fpic and -fno-pic exec transitions"
-     "-melf64_sparc --hash-style=sysv tmpdir/libtlslib64.so tmpdir/tlssunbinpic64.o" ""
+     "-melf64_sparc -Ttext-segment=0x100000 --hash-style=sysv tmpdir/libtlslib64.so tmpdir/tlssunbinpic64.o" ""
      "--64 -Av9" {tlssunbin64.s}
      {{readelf -WSsrl tlssunbin64.rd} {objdump -drj.text tlssunbin64.dd}
       {objdump -sj.got tlssunbin64.sd} {objdump -sj.tdata tlssunbin64.td}}
@@ -130,7 +130,8 @@ set sparc64tests {
     {"64-bit: TLS in debug sections" "-melf64_sparc" ""
      "--64 -Av9" {tlsg64.s}
      {{objdump -sj.debug_foobar tlsg64.sd}} "tlsg64"}
-    {"64-bit: TLS -fpie" "-melf64_sparc -pie tmpdir/libtlslib64.so" ""
+    {"64-bit: TLS -fpie"
+     "-melf64_sparc -pie -Ttext-segment=0x100000 tmpdir/libtlslib64.so" ""
      "--64 -Av9 -K PIC" {tlspie64.s}
      {{objdump -drj.text tlspie64.dd}} "tlspie64"}
     {"64-bit: GOTDATA relocations"
index 861ac2eb430d9b0083c468d98e57289fb6532c39..307955d7017c49aaa6b7cb6069fdac0f4adb4f4a 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.debug_foobar
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .debug_foobar:
  0+ 0+18  .*
index 4181dde432f65354b9f2fd5f5f888b62a28c6e7c..e38387d4262ca0dc0d79560b124b7eb4a967acb9 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.debug_foobar
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .debug_foobar:
  0+ 0+ 0+18  .*
index a31e11a074508366b3403410a0656da20ddd4d50..a0a1f84415f2be31e848ef6d8586c43bbca944da 100644 (file)
@@ -5,8 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
-
+.*: +file format elf32-sparc.*
 
 Disassembly of section .text:
 
@@ -18,7 +17,7 @@ Disassembly of section .text:
  +[0-9a-f]+:   9d e3 bf 98     save  %sp, -104, %sp
  +[0-9a-f]+:   2f 00 00 40     sethi  %hi\(0x10000\), %l7
  +[0-9a-f]+:   7f ff ff fc     call  [0-9a-f]+ <.*>
- +[0-9a-f]+:   ae 05 e1 60     add  %l7, 0x160, %l7    ! 10160 <.*>
+ +[0-9a-f]+:   ae 05 e1 (58|60)        add  %l7, 0x(158|160), %l7      ! 10(158|160) <.*>
  +[0-9a-f]+:   01 00 00 00     nop 
  +[0-9a-f]+:   01 00 00 00     nop 
  +[0-9a-f]+:   01 00 00 00     nop 
index 6c8aea928896aac20f5ac62c50256474c9df75c8..c067575d2018778fdff3a13aa5240a11f3c8451a 100644 (file)
@@ -5,8 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
-
+.*: +file format elf64-sparc.*
 
 Disassembly of section .text:
 
@@ -18,7 +17,7 @@ Disassembly of section .text:
  +[0-9a-f]+:   9d e3 bf 60     save  %sp, -160, %sp
  +[0-9a-f]+:   2f 00 04 00     sethi  %hi\(0x100000\), %l7
  +[0-9a-f]+:   7f ff ff fc     call  [0-9a-f]+ <.*>
- +[0-9a-f]+:   ae 05 e2 08     add  %l7, 0x208, %l7    ! 100208 <.*>
+ +[0-9a-f]+:   ae 05 (e1 f8|e2 08)     add  %l7, 0x(1f8|208), %l7      ! 100(1f8|208) <.*>
  +[0-9a-f]+:   01 00 00 00     nop 
  +[0-9a-f]+:   01 00 00 00     nop 
  +[0-9a-f]+:   01 00 00 00     nop 
index ce8b174c179077f6485016be04ad1f36dc9d8030..502b11eaf309231b3a388d865b982fec7b12cb0b 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Disassembly of section .text:
 
index 6c5509eb0355dba8d876d50be1cfaaf225cc0bcf..1d5112fa3f884ce67194f10b671304a8d0a53169 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .got:
  2328c 000231f4 0+ 0+ 0+  .*
index f5974e75546ef6f33a29501344a1ab3e59876489..943f24c803dceb6aa4cd0871c6f9464e0a813bb3 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.tdata
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .tdata:
  22194 00000011 00000000 00000000 00000000  .*
index 58935564ec07f9eb428b25e7f4d3fcd881b35b2a..c3188463b04ffe78233b7c7b5869d0cd1b60e66e 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Disassembly of section .text:
 
index 68e0d97ff3d94a9becc0843666eb61d969976333..28e176596a10606305bb8a9988c70ac68933cce4 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .got:
  202338 0+ 0+202208 0+ 0+  .*
index f7eef833b5acb0e29a52574db06f7155bb628b2f..0fddf32dd0ab4317f34e1985aa7c5ede0360598e 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -sj.tdata
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .tdata:
  2021a4 00000011 00000012 00000013 00000014  .*
index 4f47c7a3080bd33dcfb2f763da42418dea334cdf..3074dfd38b4e90b494da0b2daeec1fea2d6abce6 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Disassembly of section .text:
 
index 0d1beac8a15a399ad1bebce3cb174e353e2865c5..738b43a2be3bf3434a5ea61019ed34221c5fe688 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*:     file format elf32-sparc
+.*:     file format elf32-sparc.*
 
 Contents of section \.got:
  12080 0+12000 0+ 0+ 0+  .*
index cd872f2df390f3804ffbf3ab37170a05dc13054d..d8712e3adcbf02bba9c6245c91700a94b4ed1581 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Disassembly of section .text:
 
index 45c77e783a4ef30fd1fee1e23b177dd52e2c7c35..e2d67486e756db4804dfb75f3ea09bbc7eaba99a 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*:     file format elf64-sparc
+.*:     file format elf64-sparc.*
 
 Contents of section \.got:
  102100 0+ 0+102000 0+ 0+  .*
index 558977114d5763d442f52b5e7c1101f7bcddf4c6..c0dc03599ded8afcee19a3ebb6ad37f7997c33b5 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Disassembly of section .text:
 
index 4aecfd7d19f1ba8df0b0032c44c9df57311887e4..8503487b0a406d6b63b9319f6d959a3cdc399ee9 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .got:
  120f8 00012060 00000000 00000020 00000000  .*
index eb4e3445cd48c5740f8663becdd0a70bef682b31..d916d940588fc43f04cf0dc7a271379ff4826235 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.tdata
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Contents of section .tdata:
  12000 00000011 00000012 00000013 00000014  .*
index 00dbc20c84fa079ce6d6312d097d29d99005cc9c..e08dc465a11563808ed0f55cebeb9293ea535dbf 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -drj.text
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Disassembly of section .text:
 
index 9061c2efcec07469195bd9b4158b5e6c26be57c3..60110bed4622488ca79cec3d66d14b66b01b5740 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.got
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .got:
  102190 00000000 00102060 00000000 00000000  .*
index 1e82d2b42f3ef932651d6957781d6d2d251a3b8f..f06909bbeb9b04302c0dd529bb0817a192834335 100644 (file)
@@ -5,7 +5,7 @@
 #objdump: -sj.tdata
 #target: sparc*-*-*
 
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
 
 Contents of section .tdata:
  102000 00000011 00000012 00000013 00000014  .*
index ab06a567d91f86515c609408e51fd7c6b09baf27..1dd12824314d4ef240900452784ea563681395d0 100644 (file)
@@ -4,7 +4,7 @@
 #objdump: -dj.wdispcall
 #target: sparc*-*-*
 
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
 
 Disassembly of section .wdispcall: