summaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/sigaction.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/signum.h13
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/brk.c2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c92
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h16
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/brk.S15
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/clone.S7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h)6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h53
17 files changed, 163 insertions, 69 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
index 1858ef4857..3e4e855915 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -40,6 +40,8 @@ struct sigaction
/* Bits in `sa_flags'. */
#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */
+#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with
+ three arguments instead of one. */
#ifdef __USE_MISC
# define SA_STACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/signum.h b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
index fae3826023..976eef2758 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
@@ -32,8 +32,6 @@
* Linux/SPARC has different signal numbers that Linux/i386: I'm trying
* to make it OSF/1 binary compatible, at least for normal binaries.
*/
-#define _NSIG 32 /* Biggest signal number + 1. */
-
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
@@ -70,4 +68,15 @@
#define SIGUSR1 30
#define SIGUSR2 31
+#define _NSIG 64 /* Biggest signal number + 1
+ (including real-time signals). */
+
+#define SIGRTMIN (__libc_current_sigrtmin ())
+#define SIGRTMAX (__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel. These values should not be
+ used directly at user level. */
+#define __SIGRTMIN 32
+#define __SIGRTMAX (_NSIG - 1)
+
#endif /* <signal.h> included. */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c b/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c
index 7e784cab8f..4d38631a19 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/brk.c
@@ -33,7 +33,7 @@ weak_alias (__curbrk, ___brk_addr)
int
__brk (void *addr)
{
- void *newbrk, *scratch;
+ void *newbrk;
{
register void *o0 __asm__("%o0") = addr;
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
index 742ac5583c..ae44328fad 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -23,6 +23,13 @@
#include <errno.h>
#include <kernel_sigaction.h>
+extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *,
+ struct kernel_sigaction *, unsigned long,
+ size_t);
+
+static void __rt_sigreturn_stub (void);
+static void __sigreturn_stub (void);
+
/* The variable is shared between all wrappers around signal handling
functions which have RT equivalents. */
int __libc_missing_rt_sigs;
@@ -30,8 +37,49 @@ int __libc_missing_rt_sigs;
int
__sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
{
+ struct old_kernel_sigaction k_sigact, k_osigact;
int ret;
- struct kernel_sigaction k_sigact, k_osigact;
+
+ /* First try the RT signals. */
+ if (!__libc_missing_rt_sigs)
+ {
+ struct kernel_sigaction kact, koact;
+ unsigned long stub = 0;
+ int saved_errno = errno;
+
+ if (act)
+ {
+ kact.k_sa_handler = act->sa_handler;
+ memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+ if (((kact.sa_flags = act->sa_flags) & SA_SIGINFO) != 0)
+ stub = (unsigned long) &__rt_sigreturn_stub;
+ else
+ stub = (unsigned long) &__sigreturn_stub;
+ stub -= 8;
+ kact.sa_restorer = NULL;
+ }
+
+ /* XXX The size argument hopefully will have to be changed to the
+ real size of the user-level sigset_t. */
+ ret = __syscall_rt_sigaction (sig, act ? &kact : 0,
+ oact ? &koact : 0,
+ stub, _NSIG / 8);
+
+ if (ret >= 0 || errno != ENOSYS)
+ {
+ if (oact && ret >= 0)
+ {
+ oact->sa_handler = koact.k_sa_handler;
+ memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+ oact->sa_flags = koact.sa_flags;
+ oact->sa_restorer = koact.sa_restorer;
+ }
+ return ret;
+ }
+
+ __set_errno (saved_errno);
+ __libc_missing_rt_sigs = 1;
+ }
/* Magic to tell the kernel we are using "new-style" signals, in that
the signal table is not kept in userspace. Not the same as the
@@ -41,15 +89,16 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
if (act)
{
k_sigact.k_sa_handler = act->sa_handler;
- memcpy (&k_sigact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+ k_sigact.sa_mask = act->sa_mask.__val[0];
k_sigact.sa_flags = act->sa_flags;
+ k_sigact.sa_restorer = NULL;
}
{
register int r_syscallnr __asm__("%g1") = __NR_sigaction;
register int r_sig __asm__("%o0") = sig;
- register struct kernel_sigaction *r_act __asm__("%o1");
- register struct kernel_sigaction *r_oact __asm__("%o2");
+ register struct old_kernel_sigaction *r_act __asm__("%o1");
+ register struct old_kernel_sigaction *r_oact __asm__("%o2");
r_act = act ? &k_sigact : NULL;
r_oact = oact ? &k_osigact : NULL;
@@ -57,7 +106,7 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
__asm__ __volatile__("t 0x10\n\t"
"bcc 1f\n\t"
" nop\n\t"
- " sub %%g0,%%o0,%%o0\n"
+ "sub %%g0,%%o0,%%o0\n"
"1:"
: "=r"(r_sig)
: "r"(r_syscallnr), "r"(r_act), "r"(r_oact),
@@ -66,16 +115,13 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
ret = r_sig;
}
- if (ret >= 0)
+ if (oact && ret >= 0)
{
- if (oact)
- {
- oact->sa_handler = k_osigact.k_sa_handler;
- memcpy (&oact->sa_mask, &k_osigact.sa_mask, sizeof (sigset_t));
- oact->sa_flags = k_osigact.sa_flags;
- oact->sa_restorer = NULL;
- }
- return 0;
+ oact->sa_handler = k_osigact.k_sa_handler;
+ oact->sa_mask.__val[0] = k_osigact.sa_mask;
+ oact->sa_flags = k_osigact.sa_flags;
+ oact->sa_restorer = NULL;
+ return ret;
}
__set_errno (-ret);
@@ -83,3 +129,21 @@ __sigaction (int sig, __const struct sigaction *act, struct sigaction *oact)
}
weak_alias (__sigaction, sigaction);
+
+static void
+__rt_sigreturn_stub (void)
+{
+ __asm__ ("mov %0, %%g1\n\t"
+ "ta 0x10\n\t"
+ : /* no outputs */
+ : "i" (__NR_rt_sigreturn));
+}
+
+static void
+__sigreturn_stub (void)
+{
+ __asm__ ("mov %0, %%g1\n\t"
+ "ta 0x10\n\t"
+ : /* no outputs */
+ : "i" (__NR_sigreturn));
+}
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Dist b/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
index 50f83311cd..c22b73ebd2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Dist
@@ -4,5 +4,4 @@ kernel_stat.h
getcontext.S
setcontext.S
sizes.h
-ucontext.h
init-first.h
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h
index b200b718d2..e51f81a5a0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h
@@ -21,6 +21,11 @@
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
#endif
-#include <ucontext.h>
+#include <sys/ucontext.h>
typedef ucontext_t __jmp_buf[1];
+
+/* Test if longjmp to JMPBUF would unwind the frame
+ containing a local variable at ADDRESS. */
+#define _JMPBUF_UNWINDS(jmpbuf, address) \
+ ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_fp)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h
index 9027eca2ac..b6178f5a8e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h
@@ -39,4 +39,20 @@ struct statfs
long int f_spare[6];
};
+/* We already use 64-bit types in the normal structure,
+ so this is the same as the above. */
+struct statfs64
+ {
+ long int f_type;
+ long int f_bsize;
+ long int f_blocks;
+ long int f_bfree;
+ long int f_bavail;
+ long int f_files;
+ long int f_ffree;
+ __fsid_t f_fsid;
+ long int f_namelen;
+ long int f_spare[6];
+ };
+
#endif /* bits/statfs.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S b/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
index 333f9916f8..e21b60d637 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
@@ -38,7 +38,7 @@ __curbrk: .skip 8
.text
ENTRY(__brk)
- save %sp, -160, %sp
+ save %sp, -192, %sp
#ifdef PIC
1: call 2f
sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
@@ -49,24 +49,23 @@ ENTRY(__brk)
LOADSYSCALL(brk)
mov %i0, %o0
- ta 0x11
+ ta 0x6d
/* All the ways we can fail... */
bcs,pn %xcc, .Lerr1
nop
- brz %i0, .Lok
+ brz,pt %i0, .Lok
subcc %i0, %o0, %g0
bne,pn %xcc, .Lerr0
+ nop
/* Update __curbrk and return cleanly. */
.Lok: sethi %hi(__curbrk), %g1
or %g1, %lo(__curbrk), %g1
#ifdef PIC
ldx [%l7+%g1], %g1
- stx %o0, [%g1]
-#else
- stx %o0, [%g4+%g1]
#endif
+ stx %o0, [%g1]
mov %g0, %i0
/* Don't use "ret" cause the preprocessor will eat it. */
@@ -81,10 +80,8 @@ ENTRY(__brk)
or %g1, %lo(errno), %g1
#ifdef PIC
ldx [%l7+%g1], %g1
- st %o0, [%g1]
-#else
- st %o0, [%g4+%g1]
#endif
+ st %o0, [%g1]
#else
call __errno_location
mov %o0,%l1
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
index 6c619fcdc3..d7506b7c72 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
@@ -30,7 +30,7 @@
.type __clone,@function
__clone:
- save %sp,-160,%sp
+ save %sp, -192, %sp
/* sanity check arguments */
brz,pn %i0, 99f
@@ -42,10 +42,10 @@ __clone:
mov %i1, %o1
mov %i2, %o0
set __NR_clone, %g1
- ta 0x11
+ ta 0x6d
bcs,pn %xcc, 99f
nop
- brnz %o0, __thread_start
+ brnz,pn %o0, __thread_start
mov %o0, %i0
ret
restore
@@ -62,7 +62,6 @@ __clone:
st %i0, [%l7+%g2]
#else
sethi %hi(errno), %g2
- add %g2, %g4, %g2
set EINVAL, %i0
st %i0, [%g2+%lo(errno)]
#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h b/sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h
index 955714dc4f..ece284ab44 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h
@@ -33,7 +33,7 @@
.global " #NAME "
.type " #NAME ",@function
" #NAME ":
- save %sp, -128, %sp
+ save %sp, -192, %sp
1: call 11f
sethi %hi(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
11: or %l7, %lo(_GLOBAL_OFFSET_TABLE_-(1b-.)), %l7
@@ -73,11 +73,10 @@
or %g2, %lo(_dl_starting_up), %g2
brz,pt %g2, 3f
sethi %hi(__libc_multiple_libcs), %g3
- ld [%g4+%g2], %g1
+ ld [%g2], %g1
mov %g0, %g2
movrz %g1, 1, %g2
-3: or %g3, %lo(__libc_multiple_libcs), %g3
- st %g2, [%g3+%g4]
+3: st %g2, [%g3 + %lo(__libc_multiple_libcs)]
/* If so, argc et al are in %o0-%o2 already. Otherwise, load them. */
brnz,pn %g2, " #INIT "
nop
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S b/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
index d63762cb15..963aa6d89d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
@@ -44,5 +44,7 @@ ENTRY(longjmp)
END(longjmp)
strong_alias(longjmp, __longjmp)
+strong_alias(longjmp, __libc_longjmp)
+strong_alias(longjmp, __libc_siglongjmp)
weak_alias(longjmp, _longjmp)
weak_alias(longjmp, siglongjmp)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
index 82ff4eae3c..38a6f8f8b8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
@@ -22,7 +22,7 @@
ENTRY (__libc_pipe)
mov %o0, %o2 /* Save PIPEDES. */
LOADSYSCALL(pipe)
- ta 0x11
+ ta 0x6d
bcc,pn %xcc, 2f
nop
SYSCALL_ERROR_HANDLER
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c
index 96a6a76945..300ebb2629 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c
@@ -1,4 +1,7 @@
#define readdir64 __no_readdir64_decl
+#define __readdir64 __no___readdir64_decl
#include <sysdeps/unix/readdir.c>
+#undef __readdir64
+strong_alias (__readdir, __readdir64)
#undef readdir64
weak_alias (__readdir, readdir64)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h
index 160e2fc43a..f62b542b2f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h
@@ -1,5 +1,5 @@
-#ifndef _UCONTEXT_H
-#define _UCONTEXT_H
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H
#include <signal.h>
@@ -64,4 +64,4 @@ struct ucontext {
};
typedef struct ucontext ucontext_t;
-#endif /* ucontext.h */
+#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
index 30dace5903..5864bfcbc3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
@@ -28,7 +28,7 @@ ENTRY (syscall)
mov %o4,%o3
mov %o5,%o4
- ta 0x11
+ ta 0x6d
bcc,pt %xcc,1f
nop
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
index fcf556b818..1ec42fa42e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
@@ -6,7 +6,7 @@ pread - pread 4 __pread pread __pread64 pread64
pwrite - pwrite 4 __pwrite pwrite __pwrite64 pwrite64
fstatfs - fstatfs 2 __fstatfs fstatfs fstatfs64
statfs - statfs 2 __statfs statfs statfs64
-getrlimit - getrlimit 2 getrlimit getrlimit64
+getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64
setrlimit - setrlimit 2 setrlimit setrlimit64
ftruncate - ftruncate 2 __ftruncate ftruncate ftruncate64
truncate - truncate 2 truncate truncate64
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
index 2cc8547c1a..5a9a4e249b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
@@ -46,49 +46,48 @@
#ifdef PIC
# ifdef _LIBC_REENTRANT
# define SYSCALL_ERROR_HANDLER \
- save %sp,-160,%sp; \
- call __errno_location; \
+ save %sp, -192, %sp; \
+ call __errno_location; \
nop; \
- st %i0,[%o0]; \
- sub %g0,1,%i0; \
- jmpl %i7+8, %g0; \
+ st %i0,[%o0]; \
+ sub %g0,1,%i0; \
+ jmpl %i7+8, %g0; \
restore
# else
# define SYSCALL_ERROR_HANDLER \
.global C_SYMBOL_NAME(errno); \
.type C_SYMBOL_NAME(errno),@object; \
- mov %o7,%g3; \
- 101: call 102f; \
- sethi %hi(_GLOBAL_OFFSET_TABLE_-(101b-.)),%g2; \
- 102: or %g2,%lo(_GLOBAL_OFFSET_TABLE_-(101b-.)),%g2; \
- sethi %hi(errno),%o1; \
- add %g2,%o7,%l7; \
- or %o1,%lo(errno),%o1; \
- mov %g3,%o7; \
- ldx [%l7+%o1],%g2; \
- st %o0,[%g2]; \
+ mov %o7, %g3; \
+ 101: call 102f; \
+ sethi %hi(_GLOBAL_OFFSET_TABLE_-(101b-.)), %g2; \
+ 102: or %g2,%lo(_GLOBAL_OFFSET_TABLE_-(101b-.)), %g2; \
+ sethi %hi(errno), %o1; \
+ add %g2, %o7, %l7; \
+ or %o1, %lo(errno), %o1; \
+ mov %g3,%o7; \
+ ldx [%l7+%o1], %g2; \
+ st %o0, [%g2]; \
retl; \
- sub %g0,1,%i0
+ sub %g0, 1, %i0
# endif
#else
# ifdef _LIBC_REENTRANT
# define SYSCALL_ERROR_HANDLER \
- save %sp,-160,%sp; \
- call __errno_location; \
+ save %sp, -192, %sp; \
+ call __errno_location; \
nop; \
- st %i0,[%o0]; \
- sub %g0,1,%i0; \
- jmpl %i7+8, %g0; \
+ st %i0, [%o0]; \
+ sub %g0, 1, %i0; \
+ jmpl %i7+8, %g0; \
restore
# else
# define SYSCALL_ERROR_HANDLER \
.global C_SYMBOL_NAME(errno); \
.type C_SYMBOL_NAME(errno),@object; \
- sethi %hi(errno),%g1; \
- or %g1,%lo(errno),%g1; \
- st %i0,[%g1+%g4]; \
+ sethi %hi(errno), %g1; \
+ st %i0, [%g1 + %lo(errno)]; \
retl; \
- sub %g0,1,%i0
+ sub %g0, 1, %i0
# endif
#endif
@@ -96,8 +95,8 @@
.text; \
ENTRY(name); \
LOADSYSCALL(syscall_name); \
- ta 0x11; \
- bcc,pt %xcc,1f; \
+ ta 0x6d; \
+ bcc,pt %xcc, 1f; \
nop; \
SYSCALL_ERROR_HANDLER; \
1: