From 0b508dd647e667c92820ddfc82eb5f95b19d2db1 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 23 Oct 2006 04:20:20 +0000 Subject: Merge SH-2 trapa fixups from Mark. 2006-10-16 Mark Shinwell * 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_ 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. --- libc/sysdeps/linux/sh/syscall.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libc/sysdeps/linux/sh/syscall.c') 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); -- cgit v1.2.3