+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
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)
+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.
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Disassembly of section .text:
00001000 <foo-0x8>:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .got:
12070 00012000 00000000 .*
#objdump: -sj.data
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .data:
13000 12345678 deadbeef .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Disassembly of section .text:
0000000000001000 <foo-0x8>:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .got:
1020e0 00000000 00102000 00000000 00000000 .*
#objdump: -sj.data
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .data:
103000 12345678 deadbeef .*
{"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}}
{"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"
#objdump: -sj.debug_foobar
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .debug_foobar:
0+ 0+18 .*
#objdump: -sj.debug_foobar
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .debug_foobar:
0+ 0+ 0+18 .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf32-sparc
-
+.*: +file format elf32-sparc.*
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
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf64-sparc
-
+.*: +file format elf64-sparc.*
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
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .got:
2328c 000231f4 0+ 0+ 0+ .*
#objdump: -sj.tdata
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .tdata:
22194 00000011 00000000 00000000 00000000 .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .got:
202338 0+ 0+202208 0+ 0+ .*
#objdump: -sj.tdata
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .tdata:
2021a4 00000011 00000012 00000013 00000014 .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: file format elf32-sparc
+.*: file format elf32-sparc.*
Contents of section \.got:
12080 0+12000 0+ 0+ 0+ .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: file format elf64-sparc
+.*: file format elf64-sparc.*
Contents of section \.got:
102100 0+ 0+102000 0+ 0+ .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .got:
120f8 00012060 00000000 00000020 00000000 .*
#objdump: -sj.tdata
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Contents of section .tdata:
12000 00000011 00000012 00000013 00000014 .*
#objdump: -drj.text
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Disassembly of section .text:
#objdump: -sj.got
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .got:
102190 00000000 00102060 00000000 00000000 .*
#objdump: -sj.tdata
#target: sparc*-*-*
-.*: +file format elf64-sparc
+.*: +file format elf64-sparc.*
Contents of section .tdata:
102000 00000011 00000012 00000013 00000014 .*
#objdump: -dj.wdispcall
#target: sparc*-*-*
-.*: +file format elf32-sparc
+.*: +file format elf32-sparc.*
Disassembly of section .wdispcall: