summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-ia64
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-ia64')
-rw-r--r--ld/testsuite/ld-ia64/merge1.d10
-rw-r--r--ld/testsuite/ld-ia64/merge1.s12
-rw-r--r--ld/testsuite/ld-ia64/merge2.d10
-rw-r--r--ld/testsuite/ld-ia64/merge2.s12
-rw-r--r--ld/testsuite/ld-ia64/merge3.d13
-rw-r--r--ld/testsuite/ld-ia64/merge3.s16
-rw-r--r--ld/testsuite/ld-ia64/merge4.d13
-rw-r--r--ld/testsuite/ld-ia64/merge4.s21
-rw-r--r--ld/testsuite/ld-ia64/merge5.d16
-rw-r--r--ld/testsuite/ld-ia64/merge5.s24
-rw-r--r--ld/testsuite/ld-ia64/tlsbin.dd16
-rw-r--r--ld/testsuite/ld-ia64/tlsbin.rd5
-rw-r--r--ld/testsuite/ld-ia64/tlsbin.sd4
-rw-r--r--ld/testsuite/ld-ia64/tlspic.rd10
14 files changed, 159 insertions, 23 deletions
diff --git a/ld/testsuite/ld-ia64/merge1.d b/ld/testsuite/ld-ia64/merge1.d
new file mode 100644
index 000000000000..39882b8674fa
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge1.d
@@ -0,0 +1,10 @@
+#source: merge1.s
+#as: -x
+#ld: -shared
+#objdump: -d
+
+#...
+0+1e0 <.text>:
+[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge1.s b/ld/testsuite/ld-ia64/merge1.s
new file mode 100644
index 000000000000..8998db43c7da
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge1.s
@@ -0,0 +1,12 @@
+ .section .rodata.str1.8,"aMS", 1
+.LC1: .string "foo"
+.LC2: .string "foo"
+ .section .data.rel.local,"aw"
+ .quad .LC2
+ .section .rodata,"a"
+.LC3: .string "bar"
+ .balign 8
+ .space 0x400000
+ .text
+ addl r12=@ltoffx(.LC1),r1 ;;
+ addl r12=@ltoffx(.LC3),r1 ;;
diff --git a/ld/testsuite/ld-ia64/merge2.d b/ld/testsuite/ld-ia64/merge2.d
new file mode 100644
index 000000000000..dde3d097d1ff
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge2.d
@@ -0,0 +1,10 @@
+#source: merge2.s
+#as: -x
+#ld: -shared
+#objdump: -d
+
+#...
+0+1e0 <.text>:
+[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge2.s b/ld/testsuite/ld-ia64/merge2.s
new file mode 100644
index 000000000000..6c85ac2ee3eb
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge2.s
@@ -0,0 +1,12 @@
+ .section .rodata.str1.8,"aMS", 1
+.LC2: .string "foo"
+.LC1: .string "foo"
+ .section .data.rel.local,"aw"
+ .quad .LC2
+ .section .rodata,"a"
+.LC3: .string "bar"
+ .balign 8
+ .space 0x400000
+ .text
+ addl r12=@ltoffx(.LC1),r1 ;;
+ addl r12=@ltoffx(.LC3),r1 ;;
diff --git a/ld/testsuite/ld-ia64/merge3.d b/ld/testsuite/ld-ia64/merge3.d
new file mode 100644
index 000000000000..d0163f324585
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge3.d
@@ -0,0 +1,13 @@
+#source: merge3.s
+#as: -x
+#ld: -shared
+#objdump: -d
+
+#...
+0+210 <.text>:
+[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+[ ]*[a-f0-9]+: 01 60 60 02 00 24 \[MII\] addl r12=24,r1
+[ ]*[a-f0-9]+: 00 00 00 02 00 00 nop.i 0x0
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge3.s b/ld/testsuite/ld-ia64/merge3.s
new file mode 100644
index 000000000000..2442701fc8b0
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge3.s
@@ -0,0 +1,16 @@
+ .section .rodata.str1.8,"aMS", 1
+.LC1: .string "foo"
+.LC2: .string "foo"
+.LC3: .string "bar"
+.LC4: .string "bar"
+ .section .data.rel.local,"aw"
+ .quad .LC2
+ .quad .LC3
+ .section .rodata,"a"
+.LC5: .string "mumble"
+ .balign 8
+ .space 0x400000
+ .text
+ addl r12=@ltoffx(.LC1),r1 ;;
+ addl r12=@ltoffx(.LC4),r1 ;;
+ addl r12=@ltoffx(.LC5),r1 ;;
diff --git a/ld/testsuite/ld-ia64/merge4.d b/ld/testsuite/ld-ia64/merge4.d
new file mode 100644
index 000000000000..0ed5621007d9
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge4.d
@@ -0,0 +1,13 @@
+#source: merge4.s
+#as: -x
+#ld: -shared
+#objdump: -d
+
+#...
+0+240 <.text>:
+[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+[ ]*[a-f0-9]+: 0b 60 c0 02 00 24 \[MMI\] addl r12=48,r1;;
+[ ]*[a-f0-9]+: c0 c0 04 00 48 00 addl r12=24,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge4.s b/ld/testsuite/ld-ia64/merge4.s
new file mode 100644
index 000000000000..c23b4d0ea165
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge4.s
@@ -0,0 +1,21 @@
+ .section .rodata.str1.8,"aMS", 1
+.LC1: .string "foo"
+.LC2: .string "foo"
+.LC3: .string "bar"
+.LC4: .string "bar"
+.LC5: .string "baz"
+.LC6: .string "baz"
+ .section .data.rel.local,"aw"
+ .quad .LC2
+ .quad .LC4
+ .quad .LC5
+ .section .rodata,"a"
+.LC7: .string "mumble"
+ .balign 8
+ .space 0x400000
+ .text
+ addl r12=@ltoffx(.LC1),r1 ;;
+ addl r12=@ltoffx(.LC3),r1 ;;
+ addl r12=@ltoffx(.LC6),r1 ;;
+ addl r12=@ltoffx(.LC7),r1 ;;
+
diff --git a/ld/testsuite/ld-ia64/merge5.d b/ld/testsuite/ld-ia64/merge5.d
new file mode 100644
index 000000000000..3adfa55ca137
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge5.d
@@ -0,0 +1,16 @@
+#source: merge5.s
+#as: -x
+#ld: -shared
+#objdump: -d
+
+#...
+0+270 <.text>:
+[ ]*[a-f0-9]+: 0b 60 80 02 00 24 \[MMI\] addl r12=32,r1;;
+[ ]*[a-f0-9]+: c0 40 05 00 48 00 addl r12=40,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+[ ]*[a-f0-9]+: 0b 60 a0 02 00 24 \[MMI\] addl r12=40,r1;;
+[ ]*[a-f0-9]+: c0 c0 05 00 48 00 addl r12=56,r1
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
+[ ]*[a-f0-9]+: 01 60 60 02 00 24 \[MII\] addl r12=24,r1
+[ ]*[a-f0-9]+: 00 00 00 02 00 00 nop.i 0x0
+[ ]*[a-f0-9]+: 00 00 04 00 nop.i 0x0;;
diff --git a/ld/testsuite/ld-ia64/merge5.s b/ld/testsuite/ld-ia64/merge5.s
new file mode 100644
index 000000000000..81428c41cc59
--- /dev/null
+++ b/ld/testsuite/ld-ia64/merge5.s
@@ -0,0 +1,24 @@
+ .section .rodata.str1.8,"aMS", 1
+.LC1: .string "foo"
+.LC2: .string "foo"
+.LC3: .string "bar"
+.LC4: .string "bar"
+.LC5: .string "bar"
+.LC6: .string "bar"
+.LC7: .string "baz"
+.LC8: .string "baz"
+ .section .data.rel.local,"aw"
+ .quad .LC2
+ .quad .LC4
+ .quad .LC6
+ .quad .LC7
+ .section .rodata,"a"
+.LC9: .string "mumble"
+ .balign 8
+ .space 0x400000
+ .text
+ addl r12=@ltoffx(.LC1),r1 ;;
+ addl r12=@ltoffx(.LC3),r1 ;;
+ addl r12=@ltoffx(.LC5),r1 ;;
+ addl r12=@ltoffx(.LC8),r1 ;;
+ addl r12=@ltoffx(.LC9),r1 ;;
diff --git a/ld/testsuite/ld-ia64/tlsbin.dd b/ld/testsuite/ld-ia64/tlsbin.dd
index d58157962b81..1c5bc2fe33fc 100644
--- a/ld/testsuite/ld-ia64/tlsbin.dd
+++ b/ld/testsuite/ld-ia64/tlsbin.dd
@@ -13,25 +13,25 @@ Disassembly of section .text:
40+1000: 10 10 15 06 80 05[ ]+\[MIB\][ ]+alloc r34=ar.pfs,5,3,0
40+1006: 10 02 00 62 00 00[ ]+mov r33=b0
40+100c: 00 00 00 20[ ]+nop.b 0x0
-40+1010: 0d 70 80 02 00 24[ ]+\[MFI\][ ]+addl r14=32,r1
+40+1010: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1016: 00 00 00 02 00 e0[ ]+nop.f 0x0
-40+101c: 81 0a 00 90[ ]+addl r15=40,r1;;
+40+101c: .1 0. 00 90[ ]+addl r15=(24|32|40|48|56|64),r1;;
40+1020: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
40+1026: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
40+102c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
-40+1030: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
+40+1030: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1036: 00 00 00 02 00 e0[ ]+nop.f 0x0
-40+103c: 01 0c 00 90[ ]+addl r15=64,r1;;
+40+103c: .1 0. 00 90[ ]+addl r15=(24|32|40|48|56|64),r1;;
40+1040: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
40+1046: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
40+104c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
-40+1050: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
+40+1050: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1056: 00 00 00 02 00 80[ ]+nop.f 0x0
40+105c: 14 02 00 90[ ]+mov r36=33;;
40+1060: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
40+1066: 00 00 00 02 00 00[ ]+nop.f 0x0
40+106c: [0-9a-f ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
-40+1070: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
+40+1070: 0d 70 .0 0. 00 24[ ]+\[MFI\][ ]+addl r14=(24|32|40|48|56|64),r1
40+1076: 00 00 00 02 00 80[ ]+nop.f 0x0
40+107c: 04 00 00 84[ ]+mov r36=r0;;
40+1080: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
@@ -51,11 +51,11 @@ Disassembly of section .text:
40+10cc: 08 00 84 00[ ]+br.ret.sptk.many b0;;
40+10d0 <_start>:
-40+10d0: 0b 70 60 02 00 24[ ]+\[MMI\][ ]+addl r14=24,r1;;
+40+10d0: 0b 70 .0 0. 00 24[ ]+\[MMI\][ ]+addl r14=(24|32|40|48|56|64),r1;;
40+10d6: e0 00 38 30 20 00[ ]+ld8 r14=\[r14\]
40+10dc: 00 00 04 00[ ]+nop.i 0x0;;
40+10e0: 0b 70 38 1a 00 20[ ]+\[MMI\][ ]+add r14=r14,r13;;
-40+10e6: e0 c0 05 00 48 00[ ]+addl r14=56,r1
+40+10e6: e0 .0 0. 00 48 00[ ]+addl r14=(24|32|40|48|56|64),r1
40+10ec: 00 00 04 00[ ]+nop.i 0x0;;
40+10f0: 0b 70 00 1c 18 10[ ]+\[MMI\][ ]+ld8 r14=\[r14\];;
40+10f6: e0 70 34 00 40 00[ ]+add r14=r14,r13
diff --git a/ld/testsuite/ld-ia64/tlsbin.rd b/ld/testsuite/ld-ia64/tlsbin.rd
index 1fff20301be9..483433838975 100644
--- a/ld/testsuite/ld-ia64/tlsbin.rd
+++ b/ld/testsuite/ld-ia64/tlsbin.rd
@@ -66,7 +66,7 @@ Symbol table '.dynsym' contains [0-9]+ entries:
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
-Symbol table '.symtab' contains 69 entries:
+Symbol table '.symtab' contains 66 entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* SECTION LOCAL +DEFAULT +1 *
@@ -84,9 +84,6 @@ Symbol table '.symtab' contains 69 entries:
.* SECTION LOCAL +DEFAULT +13 *
.* SECTION LOCAL +DEFAULT +14 *
.* SECTION LOCAL +DEFAULT +15 *
-.* SECTION LOCAL +DEFAULT +16 *
-.* SECTION LOCAL +DEFAULT +17 *
-.* SECTION LOCAL +DEFAULT +18 *
.* TLS +LOCAL +DEFAULT +11 sl1
.* TLS +LOCAL +DEFAULT +11 sl2
.* TLS +LOCAL +DEFAULT +11 sl3
diff --git a/ld/testsuite/ld-ia64/tlsbin.sd b/ld/testsuite/ld-ia64/tlsbin.sd
index 5d8ab6590455..411eedb6a372 100644
--- a/ld/testsuite/ld-ia64/tlsbin.sd
+++ b/ld/testsuite/ld-ia64/tlsbin.sd
@@ -11,5 +11,5 @@ Contents of section .got:
(60+)?1318 0+ 0+ 0+ 0+ .*
(60+)?1328 0+ 0+ 0+ 0+ .*
(60+)?1338 0+ 0+ 0+ 0+ .*
- (60+)?1348 01000000 0+ 90000000 0+ .*
- (60+)?1358 24000000 0+ .*
+ (60+)?1348 (00|01|24|90)000000 0+ (00|01|24|90)000000 0+ .*
+ (60+)?1358 (00|01|24|90)000000 0+ .*
diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd
index c1efeb546974..b3123a8ebe00 100644
--- a/ld/testsuite/ld-ia64/tlspic.rd
+++ b/ld/testsuite/ld-ia64/tlspic.rd
@@ -59,11 +59,6 @@ Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries
Symbol table '.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
-.* SECTION LOCAL +DEFAULT +7 *
-.* SECTION LOCAL +DEFAULT +8 *
-.* SECTION LOCAL +DEFAULT +10 *
-.* SECTION LOCAL +DEFAULT +11 *
-.* SECTION LOCAL +DEFAULT +14 *
.* TLS +GLOBAL DEFAULT +10 sg8
.* TLS +GLOBAL DEFAULT +10 sg3
.* TLS +GLOBAL DEFAULT +10 sg4
@@ -78,7 +73,7 @@ Symbol table '.dynsym' contains [0-9]+ entries:
.* NOTYPE +GLOBAL DEFAULT +ABS _edata
.* NOTYPE +GLOBAL DEFAULT +ABS _end
-Symbol table '.symtab' contains 57 entries:
+Symbol table '.symtab' contains 54 entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
.* NOTYPE +LOCAL +DEFAULT +UND *
.* SECTION LOCAL +DEFAULT +1 *
@@ -95,9 +90,6 @@ Symbol table '.symtab' contains 57 entries:
.* SECTION LOCAL +DEFAULT +12 *
.* SECTION LOCAL +DEFAULT +13 *
.* SECTION LOCAL +DEFAULT +14 *
-.* SECTION LOCAL +DEFAULT +15 *
-.* SECTION LOCAL +DEFAULT +16 *
-.* SECTION LOCAL +DEFAULT +17 *
.* TLS +LOCAL +DEFAULT +10 sl1
.* TLS +LOCAL +DEFAULT +10 sl2
.* TLS +LOCAL +DEFAULT +10 sl3