summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sh/syscall.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-10-23 04:20:20 +0000
committerPaul Mundt <lethal@linux-sh.org>2006-10-23 04:20:20 +0000
commit0b508dd647e667c92820ddfc82eb5f95b19d2db1 (patch)
tree882e403d52d6a21249c00a7b8b451e9c7eec9239 /libc/sysdeps/linux/sh/syscall.c
parent44b161a8c584a50d77d63ad553e78991c7dc3617 (diff)
Merge SH-2 trapa fixups from Mark.
2006-10-16 Mark Shinwell <shinwell@codesourcery.com> * libc/sysdeps/linux/sh/vfork.S: Use __SH_SYSCALL_TRAP_BASE. Also use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/syscall.c: Use __SH_SYSCALL_TRAP_BASE. * libc/sysdeps/linux/sh/bits/uClibc_arch_features.h: Use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/bits/syscalls.h (__SH_SYSCALL_TRAP_BASE): New. Use instead of hard-coded trap numbers in the various __NR_<name> macros. * libc/sysdeps/linux/sh/clone.S: Use __SH_SYSCALL_TRAP_BASE. Also use __CONFIG_SH2__ rather than __sh2__, for consistency. * libc/sysdeps/linux/sh/crti.S: Disable GOT-related code if __HAVE_SHARED__ is not set. * libc/sysdeps/linux/sh/pipe.c (pipe): Use __SH_SYSCALL_TRAP_BASE.
Diffstat (limited to 'libc/sysdeps/linux/sh/syscall.c')
-rw-r--r--libc/sysdeps/linux/sh/syscall.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/sh/syscall.c b/libc/sysdeps/linux/sh/syscall.c
index 5369cd5e4..ba187c9b7 100644
--- a/libc/sysdeps/linux/sh/syscall.c
+++ b/libc/sysdeps/linux/sh/syscall.c
@@ -16,9 +16,11 @@ 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 #0x16" \
+__asm__ __volatile__ (
+ "trapa %1"
: "=z" (__sc0) \
- : "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6), "r" (__sc7), \
+ : "i" (__SH_SYSCALL_TRAP_BASE + 6),
+ "0" (__sc0), "r" (__sc4), "r" (__sc5), "r" (__sc6), "r" (__sc7), \
"r" (__sc3), "r" (__sc1) \
: "memory" );
__syscall_return(long,__sc0);