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 0000000000..bc8cc3f920 --- /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 0000000000..3d49794be8 --- /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 0000000000..180482626e --- /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 0000000000..262d4829b1 --- /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 0000000000..6cc7086ccd --- /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 0000000000..f23fb17a43 --- /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