aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ld-arm/eabi-hard-float.d12
-rw-r--r--ld/testsuite/ld-arm/eabi-hard-float.s9
-rw-r--r--ld/testsuite/ld-arm/eabi-soft-float-ABI4.d12
-rw-r--r--ld/testsuite/ld-arm/eabi-soft-float-r.d12
-rw-r--r--ld/testsuite/ld-arm/eabi-soft-float.d12
-rw-r--r--ld/testsuite/ld-arm/eabi-soft-float.s8
6 files changed, 65 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/eabi-hard-float.d b/ld/testsuite/ld-arm/eabi-hard-float.d
new file mode 100644
index 0000000..bc8cc3f
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-hard-float.d
@@ -0,0 +1,12 @@
+#source: eabi-hard-float.s
+#as:
+#ld: -r
+#readelf: -h
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+# Check that we set the hard-float ABI flag directly
+
+ELF Header:
+#...
+ Flags: 0x5000400, Version5 EABI, hard-float ABI
+#...
diff --git a/ld/testsuite/ld-arm/eabi-hard-float.s b/ld/testsuite/ld-arm/eabi-hard-float.s
new file mode 100644
index 0000000..3d49794
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-hard-float.s
@@ -0,0 +1,9 @@
+ .cpu cortex-a9
+ .fpu vfpv3
+ .eabi_attribute Tag_ABI_VFP_args, 1
+ .file "eabi-hard-float.s"
+ .globl _start
+ .type _start,%function
+_start:
+ .size _start,.-_start
+
diff --git a/ld/testsuite/ld-arm/eabi-soft-float-ABI4.d b/ld/testsuite/ld-arm/eabi-soft-float-ABI4.d
new file mode 100644
index 0000000..1804826
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-soft-float-ABI4.d
@@ -0,0 +1,12 @@
+#source: eabi-soft-float.s
+#as:
+#ld: -r
+#readelf: -h
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+# if we compile for EABI ver4, ld should *not* set either of the float ABI flags
+
+ELF Header:
+#...
+ Flags: 0x4000000, Version4 EABI
+#...
diff --git a/ld/testsuite/ld-arm/eabi-soft-float-r.d b/ld/testsuite/ld-arm/eabi-soft-float-r.d
new file mode 100644
index 0000000..262d482
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-soft-float-r.d
@@ -0,0 +1,12 @@
+#source: eabi-soft-float.s
+#as:
+#ld: -r
+#readelf: -h
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+# if we call "ld -r", it should *not* set either of the float ABI flags
+
+ELF Header:
+#...
+ Flags: 0x5000000, Version5 EABI
+#...
diff --git a/ld/testsuite/ld-arm/eabi-soft-float.d b/ld/testsuite/ld-arm/eabi-soft-float.d
new file mode 100644
index 0000000..6cc7086
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-soft-float.d
@@ -0,0 +1,12 @@
+#source: eabi-soft-float.s
+#as:
+#ld: -r
+#readelf: -h
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+# Check that we set the soft-float ABI flag directly
+
+ELF Header:
+#...
+ Flags: 0x5000200, Version5 EABI, soft-float ABI
+#...
diff --git a/ld/testsuite/ld-arm/eabi-soft-float.s b/ld/testsuite/ld-arm/eabi-soft-float.s
new file mode 100644
index 0000000..f23fb17
--- /dev/null
+++ b/ld/testsuite/ld-arm/eabi-soft-float.s
@@ -0,0 +1,8 @@
+ .cpu cortex-a9
+ .fpu vfpv3
+ .eabi_attribute Tag_ABI_VFP_args, 0
+ .file "eabi-soft-float.s"
+ .globl _start
+ .type _start,%function
+_start:
+ .size _start,.-_start