aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-m68k
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-m68k')
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-1.d21
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-1.s16
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-2.d24
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-2.s24
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-ie-1.d25
-rw-r--r--ld/testsuite/ld-m68k/tls-gd-ie-1.s23
-rw-r--r--ld/testsuite/ld-m68k/tls-ie-1.d22
-rw-r--r--ld/testsuite/ld-m68k/tls-ie-1.s20
-rw-r--r--ld/testsuite/ld-m68k/tls-ld-1.d22
-rw-r--r--ld/testsuite/ld-m68k/tls-ld-1.s21
-rw-r--r--ld/testsuite/ld-m68k/tls-ld-2.d15
-rw-r--r--ld/testsuite/ld-m68k/tls-ld-2.s19
-rw-r--r--ld/testsuite/ld-m68k/tls-le-1.s20
-rw-r--r--ld/testsuite/ld-m68k/tls-no-1.s18
14 files changed, 290 insertions, 0 deletions
diff --git a/ld/testsuite/ld-m68k/tls-gd-1.d b/ld/testsuite/ld-m68k/tls-gd-1.d
new file mode 100644
index 0000000..0cad6fc
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-1.d
@@ -0,0 +1,21 @@
+#as: -mcpu=5206
+#source: tls-gd-1.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 9 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 24 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000000 \(NULL\) 0x0
+
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
+ Offset Info Type Sym.Value Sym. Name \+ Addend
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPMOD3 00000000 x \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPREL3 00000000 x \+ 0
diff --git a/ld/testsuite/ld-m68k/tls-gd-1.s b/ld/testsuite/ld-m68k/tls-gd-1.s
new file mode 100644
index 0000000..c79da2e
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-1.s
@@ -0,0 +1,16 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+
+ pea x@TLSGD(%a5)
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-gd-2.d b/ld/testsuite/ld-m68k/tls-gd-2.d
new file mode 100644
index 0000000..28ba4f5
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-2.d
@@ -0,0 +1,24 @@
+#as: -mcpu=5206
+#source: tls-gd-2.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 10 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 48 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000016 \(TEXTREL\) 0x0
+ 0x00000000 \(NULL\) 0x0
+
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
+ Offset Info Type Sym.Value Sym. Name \+ Addend
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __tls_get_addr \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __tls_get_addr \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPMOD3 00000000 x \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPREL3 00000000 x \+ 0
diff --git a/ld/testsuite/ld-m68k/tls-gd-2.s b/ld/testsuite/ld-m68k/tls-gd-2.s
new file mode 100644
index 0000000..3bb58d4
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-2.s
@@ -0,0 +1,24 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ pea x@TLSGD(%a5)
+ jbsr __tls_get_addr
+
+ move.l %a5,%a0
+ add.l x@TLSGD,%a0
+ pea (%a0)
+ jbsr __tls_get_addr
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-gd-ie-1.d b/ld/testsuite/ld-m68k/tls-gd-ie-1.d
new file mode 100644
index 0000000..87de346
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-ie-1.d
@@ -0,0 +1,25 @@
+#as: -mcpu=5206
+#source: tls-gd-ie-1.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 10 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 60 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000016 \(TEXTREL\) 0x0
+ 0x00000000 \(NULL\) 0x0
+
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 5 entries:
+ Offset Info Type Sym.Value Sym. Name \+ Addend
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __tls_get_addr \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __m68k_read_tp \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPMOD3 00000000 x \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPREL3 00000000 x \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_TPREL32 00000000 x \+ 0
diff --git a/ld/testsuite/ld-m68k/tls-gd-ie-1.s b/ld/testsuite/ld-m68k/tls-gd-ie-1.s
new file mode 100644
index 0000000..6536137
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-gd-ie-1.s
@@ -0,0 +1,23 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ pea x@TLSGD(%a5)
+ jbsr __tls_get_addr
+
+ jbsr __m68k_read_tp
+ move.l x@TLSIE(%a5),%a1
+ add.l %a0,%a1
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-ie-1.d b/ld/testsuite/ld-m68k/tls-ie-1.d
new file mode 100644
index 0000000..5574ad4
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ie-1.d
@@ -0,0 +1,22 @@
+#as: -mcpu=5206
+#source: tls-ie-1.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 10 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 24 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000016 \(TEXTREL\) 0x0
+ 0x00000000 \(NULL\) 0x0
+
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
+ Offset Info Type Sym.Value Sym. Name \+ Addend
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __m68k_read_tp \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_TPREL32 00000000 x \+ 0
diff --git a/ld/testsuite/ld-m68k/tls-ie-1.s b/ld/testsuite/ld-m68k/tls-ie-1.s
new file mode 100644
index 0000000..29326a0
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ie-1.s
@@ -0,0 +1,20 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ jbsr __m68k_read_tp
+ move.l x@TLSIE(%a5),%a1
+ add.l %a0,%a1
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-ld-1.d b/ld/testsuite/ld-m68k/tls-ld-1.d
new file mode 100644
index 0000000..01e8904
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ld-1.d
@@ -0,0 +1,22 @@
+#as: -mcpu=5206
+#source: tls-ld-1.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 10 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000007 \(RELA\) 0x[0-9a-f]+
+ 0x00000008 \(RELASZ\) 24 \(bytes\)
+ 0x00000009 \(RELAENT\) 12 \(bytes\)
+ 0x00000016 \(TEXTREL\) 0x0
+ 0x00000000 \(NULL\) 0x0
+
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
+ Offset Info Type Sym.Value Sym. Name \+ Addend
+[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __tls_get_addr \+ 0
+[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPMOD3 00000000
diff --git a/ld/testsuite/ld-m68k/tls-ld-1.s b/ld/testsuite/ld-m68k/tls-ld-1.s
new file mode 100644
index 0000000..47bc6e1
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ld-1.s
@@ -0,0 +1,21 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ pea x3@TLSLDM(%a5)
+ jbsr __tls_get_addr
+ move.l %d0,%a1
+ add.l x4@TLSLDO,%a1
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-ld-2.d b/ld/testsuite/ld-m68k/tls-ld-2.d
new file mode 100644
index 0000000..ee1bac5
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ld-2.d
@@ -0,0 +1,15 @@
+#as: -mcpu=5206
+#source: tls-ld-2.s
+#ld: -shared
+#readelf: -d -r
+
+Dynamic section at offset .* contains 6 entries:
+ Tag Type Name/Value
+ 0x00000004 \(HASH\) 0x[0-9a-f]+
+ 0x00000005 \(STRTAB\) 0x[0-9a-f]+
+ 0x00000006 \(SYMTAB\) 0x[0-9a-f]+
+ 0x0000000a \(STRSZ\) [0-9]+ \(bytes\)
+ 0x0000000b \(SYMENT\) 16 \(bytes\)
+ 0x00000000 \(NULL\) 0x0
+
+There are no relocations in this file.
diff --git a/ld/testsuite/ld-m68k/tls-ld-2.s b/ld/testsuite/ld-m68k/tls-ld-2.s
new file mode 100644
index 0000000..b1c447f
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-ld-2.s
@@ -0,0 +1,19 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ move.l %d0,%a1
+ add.l x@TLSLDO,%a1
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-le-1.s b/ld/testsuite/ld-m68k/tls-le-1.s
new file mode 100644
index 0000000..b1e9c13
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-le-1.s
@@ -0,0 +1,20 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ jbsr __m68k_read_tp
+ move.l x@TLSLE(%a5),%a1
+ add.l %a0,%a1
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-m68k/tls-no-1.s b/ld/testsuite/ld-m68k/tls-no-1.s
new file mode 100644
index 0000000..4e59919
--- /dev/null
+++ b/ld/testsuite/ld-m68k/tls-no-1.s
@@ -0,0 +1,18 @@
+#NO_APP
+ .text
+ .align 2
+ .globl foo
+ .type foo, @function
+foo:
+ link.w %fp,#0
+ move.l %a5,-(%sp)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC, %a5
+ lea (-6, %pc, %a5), %a5
+
+ move.l x@GOT(%a5),%d0
+
+ move.l (%sp)+,%a5
+ unlk %fp
+ rts
+ .size foo, .-foo
+ .section .note.GNU-stack,"",@progbits