summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2005-05-07 20:10:07 +0000
committerPaul Mundt <lethal@linux-sh.org>2005-05-07 20:10:07 +0000
commit244b9f3802471ab7fdb962589491e52618bff230 (patch)
treea5f2a48b1f001cd5732f9a8e7af2c719e0d1c375
parent9decb47dff7253eede2b708f14c7f79502638c6f (diff)
Fix trapa value for _syscall6() to conform with new sh syscall ABI.
The old sh system call interface used 0x00 - 0x0f for the trapa value (number of arguments), whereas the new ABI uses the 0x10 - 0x1f range. For some reason we were using an off-by-1 trapa immediate which ended up trashing r1 in the _syscall6() case, so we fix it up..
-rw-r--r--libc/sysdeps/linux/sh/bits/syscalls.h2
-rw-r--r--libc/sysdeps/linux/sh/syscall.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/sh/bits/syscalls.h b/libc/sysdeps/linux/sh/bits/syscalls.h
index db4648eb4..89607bc85 100644
--- a/libc/sysdeps/linux/sh/bits/syscalls.h
+++ b/libc/sysdeps/linux/sh/bits/syscalls.h
@@ -126,7 +126,7 @@ register long __sc6 __asm__ ("r6") = (long) arg3; \
register long __sc7 __asm__ ("r7") = (long) arg4; \
register long __sc0 __asm__ ("r0") = (long) arg5; \
register long __sc1 __asm__ ("r1") = (long) arg6; \
-__asm__ __volatile__ ("trapa #0x15" \
+__asm__ __volatile__ ("trapa #0x16" \
: "=z" (__sc0) \
: "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6), "r" (__sc7), \
"r" (__sc3), "r" (__sc1) \
diff --git a/libc/sysdeps/linux/sh/syscall.c b/libc/sysdeps/linux/sh/syscall.c
index b4a6a88f4..5369cd5e4 100644
--- a/libc/sysdeps/linux/sh/syscall.c
+++ b/libc/sysdeps/linux/sh/syscall.c
@@ -16,7 +16,7 @@ register long __sc6 __asm__ ("r6") = (long) arg3;
register long __sc7 __asm__ ("r7") = (long) arg4;
register long __sc0 __asm__ ("r0") = (long) arg5;
register long __sc1 __asm__ ("r1") = (long) arg6;
-__asm__ __volatile__ ("trapa #0x15" \
+__asm__ __volatile__ ("trapa #0x16" \
: "=z" (__sc0) \
: "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6), "r" (__sc7), \
"r" (__sc3), "r" (__sc1) \