--- /dev/null
+#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
+#...
--- /dev/null
+ .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
+
--- /dev/null
+#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
+#...
--- /dev/null
+#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
+#...
--- /dev/null
+#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
+#...
--- /dev/null
+ .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