aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2007-01-29 16:27:34 +0000
committerJulian Brown <julian@codesourcery.com>2007-01-29 16:27:34 +0000
commitb785d0e12194800df53b5efca6b6dc47c73e975e (patch)
treef530a7b0b2bda664bef9063ebf474b3b52ade5df /ld
parent704a4f78bb7a2617b283fc2ea08dd19804348af2 (diff)
downloadgdb-b785d0e12194800df53b5efca6b6dc47c73e975e.zip
gdb-b785d0e12194800df53b5efca6b6dc47c73e975e.tar.gz
gdb-b785d0e12194800df53b5efca6b6dc47c73e975e.tar.bz2
* ld-arm/arm-elf.exp: Add VFP11 tests.
* ld-arm/vfp11-fix-none.s: New file. * ld-arm/vfp11-fix-none.d: Expected disassembly of above. * ld-arm/vfp11-fix-scalar.s: New file. * ld-arm/vfp11-fix-scalar.d: Expected disassembly of above. * ld-arm/vfp11-fix-vector.s: New file. * ld-arm/vfp11-fix-vector.d: Expected disassembly of above.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog10
-rw-r--r--ld/testsuite/ld-arm/arm-elf.exp12
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-none.d9
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-none.s7
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-scalar.d15
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-scalar.s7
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-vector.d16
-rw-r--r--ld/testsuite/ld-arm/vfp11-fix-vector.s8
8 files changed, 84 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 80828c7..4fac3b0 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2007-01-29 Julian Brown <julian@codesourcery.com>
+
+ * ld-arm/arm-elf.exp: Add VFP11 tests.
+ * ld-arm/vfp11-fix-none.s: New file.
+ * ld-arm/vfp11-fix-none.d: Expected disassembly of above.
+ * ld-arm/vfp11-fix-scalar.s: New file.
+ * ld-arm/vfp11-fix-scalar.d: Expected disassembly of above.
+ * ld-arm/vfp11-fix-vector.s: New file.
+ * ld-arm/vfp11-fix-vector.d: Expected disassembly of above.
+
2007-01-23 Nathan Sidwell <nathan@codesourcery.com>
* ld-elf/header.d: Reduce page size, restrict to linux & vxworks
diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp
index af94c87..71d817a 100644
--- a/ld/testsuite/ld-arm/arm-elf.exp
+++ b/ld/testsuite/ld-arm/arm-elf.exp
@@ -144,6 +144,18 @@ set armelftests {
{"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" {use-thumb-lib.s}
{{readelf -Ds use-thumb-lib.sym}}
"use-thumb-lib.so"}
+ {"VFP11 denorm erratum fix, scalar operation"
+ "-EL --vfp11-denorm-fix=scalar" "-EL" {vfp11-fix-scalar.s}
+ {{objdump -dr vfp11-fix-scalar.d}}
+ "vfp11-fix-scalar"}
+ {"VFP11 denorm erratum fix, vector operation"
+ "-EB --vfp11-denorm-fix=vector" "-EB" {vfp11-fix-vector.s}
+ {{objdump -dr vfp11-fix-vector.d}}
+ "vfp11-fix-vector"}
+ {"VFP11 denorm erratum fix, embedded code-like data"
+ "-EL --vfp11-denorm-fix=scalar" "-EL" {vfp11-fix-none.s}
+ {{objdump -dr vfp11-fix-none.d}}
+ "vfp11-fix-none"}
}
diff --git a/ld/testsuite/ld-arm/vfp11-fix-none.d b/ld/testsuite/ld-arm/vfp11-fix-none.d
new file mode 100644
index 0000000..64a67ae
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-none.d
@@ -0,0 +1,9 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+ 8000: ee474a20 \.word 0xee474a20
+ 8004: ed927a00 \.word 0xed927a00
+ 8008: e12fff1e bx lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-none.s b/ld/testsuite/ld-arm/vfp11-fix-none.s
new file mode 100644
index 0000000..a016c49
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-none.s
@@ -0,0 +1,7 @@
+ .arm
+ .text
+ .globl _start
+_start:
+ .word 0xee474a20
+ .word 0xed927a00
+ bx lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-scalar.d b/ld/testsuite/ld-arm/vfp11-fix-scalar.d
new file mode 100644
index 0000000..b7fe136
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-scalar.d
@@ -0,0 +1,15 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+ 8000: 0a000001 beq 800c <__vfp11_veneer_0>
+
+00008004 <__vfp11_veneer_0_r>:
+ 8004: ed927a00 flds s14, \[r2\]
+ 8008: e12fff1e bx lr
+
+0000800c <__vfp11_veneer_0>:
+ 800c: 0e474a20 fmacseq s9, s14, s1
+ 8010: eafffffb b 8004 <__vfp11_veneer_0_r>
diff --git a/ld/testsuite/ld-arm/vfp11-fix-scalar.s b/ld/testsuite/ld-arm/vfp11-fix-scalar.s
new file mode 100644
index 0000000..4ffb891
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-scalar.s
@@ -0,0 +1,7 @@
+ .arm
+ .text
+ .globl _start
+_start:
+ fmacseq s9, s14, s1
+ flds s14, [r2]
+ bx lr
diff --git a/ld/testsuite/ld-arm/vfp11-fix-vector.d b/ld/testsuite/ld-arm/vfp11-fix-vector.d
new file mode 100644
index 0000000..3474b8c
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-vector.d
@@ -0,0 +1,16 @@
+
+.*: .*file format elf32-(big|little)arm
+
+Disassembly of section \.text:
+
+00008000 <_start>:
+ 8000: 0a000002 beq 8010 <__vfp11_veneer_0>
+
+00008004 <__vfp11_veneer_0_r>:
+ 8004: e1a02003 mov r2, r3
+ 8008: ed927a00 flds s14, \[r2\]
+ 800c: e12fff1e bx lr
+
+00008010 <__vfp11_veneer_0>:
+ 8010: 0e474a20 fmacseq s9, s14, s1
+ 8014: eafffffa b 8004 <__vfp11_veneer_0_r>
diff --git a/ld/testsuite/ld-arm/vfp11-fix-vector.s b/ld/testsuite/ld-arm/vfp11-fix-vector.s
new file mode 100644
index 0000000..05b6100
--- /dev/null
+++ b/ld/testsuite/ld-arm/vfp11-fix-vector.s
@@ -0,0 +1,8 @@
+ .arm
+ .text
+ .globl _start
+_start:
+ fmacseq s9, s14, s1
+ mov r2,r3
+ flds s14, [r2]
+ bx lr