diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sysdep.h | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c index 3bb4e7a28b..e925040d14 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c @@ -29,9 +29,9 @@ __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) va_list ap; int i; - sp = (long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); + sp = (unsigned long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); sp -= (argc > 6 ? argc : 6) + 32; - sp = (long *) (((long) sp) & -16L); + sp = (unsigned long *) (((long) sp) & -16L); topsp = sp + (argc > 6 ? argc : 6) + 16; ucp->uc_mcontext.mc_gregs[MC_PC] = (long) func; diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index 542e94040c..fc955c236c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -22,13 +22,13 @@ #undef INLINE_SYSCALL #define INLINE_SYSCALL(name, nr, args...) \ ({ INTERNAL_SYSCALL_DECL(err); \ - unsigned int resultvar = INTERNAL_SYSCALL(name, err, nr, args); \ + unsigned long resultvar = INTERNAL_SYSCALL(name, err, nr, args);\ if (INTERNAL_SYSCALL_ERROR_P (resultvar, err)) \ { \ __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, err)); \ - resultvar = 0xffffffff; \ + resultvar = (unsigned long) -1; \ } \ - (int) resultvar; \ + (long) resultvar; \ }) #undef INTERNAL_SYSCALL_DECL |