summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sh/clone.S
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/clone.S
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/clone.S')
-rw-r--r--libc/sysdeps/linux/sh/clone.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/sh/clone.S b/libc/sysdeps/linux/sh/clone.S
index 1806313e0..6999f9490 100644
--- a/libc/sysdeps/linux/sh/clone.S
+++ b/libc/sysdeps/linux/sh/clone.S
@@ -23,6 +23,8 @@
#include <asm/unistd.h>
#define _ERRNO_H 1
#include <bits/errno.h>
+#define _SYSCALL_H
+#include <bits/syscalls.h>
#ifdef __HAVE_SHARED__
@@ -59,9 +61,9 @@ clone:
/* do the system call */
mov r6, r4
- trapa #0x12
+ trapa #(__SH_SYSCALL_TRAP_BASE + 2)
mov r0, r1
-#ifdef __sh2__
+#ifdef __CONFIG_SH2__
// 12 arithmetic shifts for the crappy sh2, because shad doesn't exist!
shar r1
shar r1