aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.arch
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2018-08-16 15:21:15 +0100
committerAlan Hayward <alan.hayward@arm.com>2018-08-17 11:10:24 +0100
commit2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5 (patch)
tree665e03c0f726148b83123dbbc7dc3756e3c7e0b4 /gdb/testsuite/gdb.arch
parentc1854f1d5a8fb5d86c7ac6d118348759cfa8c393 (diff)
downloadgdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.zip
gdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.tar.gz
gdb-2ecae92e2372102ac0fa774fce4c4c0d6f8c85f5.tar.bz2
Fix asm in testsuite/gdb.arch/aarch64-fp.c
Cannot assume result of first and third ldr will go into x0. Rewrite asm to be clearer. gdb/testsuite/ PR gdb/18931: * gdb.arch/aarch64-fp.c (main): Fix asm registers.
Diffstat (limited to 'gdb/testsuite/gdb.arch')
-rw-r--r--gdb/testsuite/gdb.arch/aarch64-fp.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.arch/aarch64-fp.c b/gdb/testsuite/gdb.arch/aarch64-fp.c
index 0ff8e00..7eb6df2 100644
--- a/gdb/testsuite/gdb.arch/aarch64-fp.c
+++ b/gdb/testsuite/gdb.arch/aarch64-fp.c
@@ -26,12 +26,18 @@ main (void)
void *addr;
addr = &buf0[0];
- __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr));
- __asm __volatile ("ldr q0, [x0]");
-
+ __asm __volatile ("ldr %x0, [%1]\n\t"
+ "ldr q0, [%x0]"
+ : "=r" (val)
+ : "r" (&addr)
+ : "q0" );
+
addr = &buf1[0];
- __asm __volatile ("ldr %x0, [%1]" : "=r" (val) : "r" (&addr));
- __asm __volatile ("ldr q1, [x0]");
+ __asm __volatile ("ldr %x0, [%1]\n\t"
+ "ldr q1, [%x0]"
+ : "=r" (val)
+ : "r" (&addr)
+ : "q1" );
return 1;
}