[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/9] tests: cris: fix syscall inline asm
From: |
Rabin Vincent |
Subject: |
[Qemu-devel] [PATCH 2/9] tests: cris: fix syscall inline asm |
Date: |
Mon, 5 Sep 2016 13:54:05 +0200 |
From: Rabin Vincent <address@hidden>
Add the clobbered registeres to the inline asm for the write and exit
system calls. Without the correct clobbers for the write() function,
correct failure messages are not printed succesfully on newer version of
GCC.
Signed-off-by: Rabin Vincent <address@hidden>
---
tests/tcg/cris/sys.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/tcg/cris/sys.c b/tests/tcg/cris/sys.c
index 551c5dd..dfa5e1c 100644
--- a/tests/tcg/cris/sys.c
+++ b/tests/tcg/cris/sys.c
@@ -34,7 +34,10 @@ void *memset (void *s, int c, size_t n) {
void exit (int status) {
asm volatile ("moveq 1, $r9\n" /* NR_exit. */
- "break 13\n");
+ "break 13\n"
+ :
+ :
+ : "r9", "memory" );
while(1)
;
}
@@ -45,7 +48,10 @@ ssize_t write (int fd, const void *buf, size_t count) {
"move.d %1, $r11\n"
"move.d %2, $r12\n"
"moveq 4, $r9\n" /* NR_write. */
- "break 13\n" : : "r" (fd), "r" (buf), "r" (count) : "memory");
+ "break 13\n"
+ :
+ : "r" (fd), "r" (buf), "r" (count)
+ : "r9", "r10", "r11", "r12", "memory");
asm ("move.d $r10, %0\n" : "=r" (r));
return r;
}
--
2.1.4
- [Qemu-devel] [PATCH 7/9] target-cris: ignore prefix insns in singlestep, (continued)
[Qemu-devel] [PATCH 2/9] tests: cris: fix syscall inline asm,
Rabin Vincent <=
[Qemu-devel] [PATCH 5/9] target-cris: sync CC state at load/stores., Rabin Vincent, 2016/09/05
[Qemu-devel] [PATCH 6/9] target-cris: reduce v32isms from v10 log dumps, Rabin Vincent, 2016/09/05