aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-02-02 09:49:00 +1030
committerAlan Modra <amodra@gmail.com>2023-02-02 13:40:14 +1030
commit0709900ede7dcb0c77d40a0c2403d2921afa18c3 (patch)
treed063f649db206291550afbf7a31bf9dbe0f1a7fc /ld
parent269c4cda851326c8f86775b0cde39579b38debe4 (diff)
downloadbinutils-0709900ede7dcb0c77d40a0c2403d2921afa18c3.zip
binutils-0709900ede7dcb0c77d40a0c2403d2921afa18c3.tar.gz
binutils-0709900ede7dcb0c77d40a0c2403d2921afa18c3.tar.bz2
ld-elf/merge test update
The merge test fais on numerous targets because they don't support the necessary pc-relative relocs. This patch removes that part of the merge test, and makes references to the merged strings from .data rather than .text to better support targets that relax text by default.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ld-elf/merge.d13
-rw-r--r--ld/testsuite/ld-elf/merge.ld5
-rw-r--r--ld/testsuite/ld-elf/merge.s10
-rw-r--r--ld/testsuite/ld-elf/merge2.d15
-rw-r--r--ld/testsuite/ld-elf/merge2.s6
-rw-r--r--ld/testsuite/ld-elf/merge3.d9
-rw-r--r--ld/testsuite/ld-elf/merge3.s4
7 files changed, 27 insertions, 35 deletions
diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d
index a62711c..d31b6e8 100644
--- a/ld/testsuite/ld-elf/merge.d
+++ b/ld/testsuite/ld-elf/merge.d
@@ -1,16 +1,13 @@
#source: merge.s
#ld: -T merge.ld
#objdump: -s
-#xfail: bfin-*-* cr16-*-* cris*-*-* crx-*-* d10v-*-* d30v-*-* dlx-*-*
-#xfail: fr30-*-* frv-*-* ft32-*-* h8300-*-* hppa*64*-*-* ip2k-*-* iq2000-*-*
-#xfail: lm32-*-* m68hc11-*-* mcore-*-* mep-*-* metag-*-* mn102*-*-* moxie-*-*
-#xfail: mt-*-* nds32*-*-* nios2-*-* pj-*-* pru-*-* s12z-*-* score-*-*
-#xfail: tic6x-*-* vax-*-* xgate-*-* xstormy16-*-* xtensa*-*-*
+#xfail: [is_generic] hppa64-*-* ip2k-*-* nds32*-*-*
.*: file format .*elf.*
-Contents of section .text:
- 1000 (1010)?0000(1010)? (1210)?0000(1012)? (0c)?000000(0c)? (0e)?000000(0e)? .*
Contents of section .rodata:
- 1010 61626300 .*
+ 1100 61626300 .*
+
+Contents of section .data:
+ 1200 (0011)?0000(1100)? (0211)?0000(1102)? (04)?000000(04)? (02)?000000(02)? .*
#pass
diff --git a/ld/testsuite/ld-elf/merge.ld b/ld/testsuite/ld-elf/merge.ld
index dce91bb..6bcea50 100644
--- a/ld/testsuite/ld-elf/merge.ld
+++ b/ld/testsuite/ld-elf/merge.ld
@@ -1,7 +1,8 @@
SECTIONS
{
- . = 0x1000;
- .text : { *(.text .text.* .gnu.linkonce.t.*) }
+ . = 0x1100;
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
+ . = 0x1200;
+ .data : { *(.data .data.* .gnu.linkonce.d.*) }
.junk : { *(*) }
}
diff --git a/ld/testsuite/ld-elf/merge.s b/ld/testsuite/ld-elf/merge.s
index 1e6e0e3..88eeebd 100644
--- a/ld/testsuite/ld-elf/merge.s
+++ b/ld/testsuite/ld-elf/merge.s
@@ -3,12 +3,10 @@
.asciz "abc"
.LC1:
.asciz "c"
+.LC2:
- .text
- .global _start
-_start:
+ .data
.long .LC0
-.LT0:
.long .LC1
- .long .LC0-.LT0
- .long .LC1-.LT0
+ .long .LC1-.LC0
+ .long .LC2-.LC1
diff --git a/ld/testsuite/ld-elf/merge2.d b/ld/testsuite/ld-elf/merge2.d
index 500ac77..27cc4d3 100644
--- a/ld/testsuite/ld-elf/merge2.d
+++ b/ld/testsuite/ld-elf/merge2.d
@@ -5,12 +5,13 @@
.*: file format .*elf.*
-Contents of section .text:
- 1000 (3010)?0000(1030)? (3210)?0000(1032)? (3110)?0000(1031)? (3410)?0000(1034)? .*
- 1010 (4010)?0000(1040)? (3810)?0000(1038)? (4810)?0000(1048)? (3c10)?0000(103c)? .*
- 1020 (5010)?0000(1050)? (5410)?0000(1054)? (5810)?0000(1058)? (5010)?0000(1050)? .*
Contents of section .rodata:
- 1030 61626300 62000000 (78563412|12345678) 99999999 .*
- 1040 (78563412|12345678) 00000000 99999999 00000000 .*
- 1050 (78563412|12345678) 99999999 00000000 .*
+ 1100 61626300 62000000 (78563412|12345678) 99999999 .*
+ 1110 (78563412|12345678) 00000000 99999999 00000000 .*
+ 1120 (78563412|12345678) 99999999 00000000 .*
+
+Contents of section .data:
+ 1200 (0011)?0000(1100)? (0211)?0000(1102)? (0111)?0000(1101)? (0411)?0000(1104)? .*
+ 1210 (1011)?0000(1110)? (0811)?0000(1108)? (1811)?0000(1118)? (0c11)?0000(110c)? .*
+ 1220 (2011)?0000(1120)? (2411)?0000(1124)? (2811)?0000(1128)? (2011)?0000(1120)? .*
#pass
diff --git a/ld/testsuite/ld-elf/merge2.s b/ld/testsuite/ld-elf/merge2.s
index 41d066a..1c384b5 100644
--- a/ld/testsuite/ld-elf/merge2.s
+++ b/ld/testsuite/ld-elf/merge2.s
@@ -39,12 +39,8 @@
.LC11:
.long 0x12345678
-
- .text
- .global _start
-_start:
+ .data
.long .LC0
-.LT0:
.long .LC1
.long .LC2
.long .LC3
diff --git a/ld/testsuite/ld-elf/merge3.d b/ld/testsuite/ld-elf/merge3.d
index de6584c..692db73 100644
--- a/ld/testsuite/ld-elf/merge3.d
+++ b/ld/testsuite/ld-elf/merge3.d
@@ -5,9 +5,10 @@
.*: file format .*elf.*
-Contents of section \.text:
- 1000 (20100000|00001020) (10100000|00001010) (18100000|00001018) .*
Contents of section \.rodata:
- 1010 64656667 00000000 30313233 34353637 defg....01234567
- 1020 61626364 65666700 abcdefg.
+ 1100 64656667 00000000 30313233 34353637 defg....01234567
+ 1110 61626364 65666700 abcdefg.
+
+Contents of section \.data:
+ 1200 (10110000|00001110) (00110000|00001100) (08110000|00001108) .*
#pass
diff --git a/ld/testsuite/ld-elf/merge3.s b/ld/testsuite/ld-elf/merge3.s
index 9328d4d..d9caa17 100644
--- a/ld/testsuite/ld-elf/merge3.s
+++ b/ld/testsuite/ld-elf/merge3.s
@@ -9,9 +9,7 @@
.LC2:
.asciz "01234567abcdefg"
- .text
- .global _start
-_start:
+ .data
.long .LC0
.long .LC1
.long .LC2