Adjust syscalls-powerpc-netbsd.S so it will build correctly again.

Problem reported on port-macppc by Ryan La Riviere <larz@cbis.ece.drexel.edu>.
This commit is contained in:
briggs 2002-03-25 15:19:30 +00:00
parent 0e5fd032fb
commit d58d53e602
2 changed files with 128 additions and 1 deletions

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.11 2002/03/18 14:17:43 martti Exp $
$NetBSD: distinfo,v 1.12 2002/03/25 15:19:30 briggs Exp $
SHA1 (mysql-3.23.49.tar.gz) = 0256331c7aa9388955148f80cdca382f467ad1be
Size (mysql-3.23.49.tar.gz) = 11844905 bytes
@ -6,3 +6,4 @@ SHA1 (patch-aa) = d40a52dd115b3fd4236d66c2c5946fddc04f13cb
SHA1 (patch-ae) = 81fa0273261ea44c599cf44f5a3a56935c3a62bd
SHA1 (patch-af) = 78acdcd5a0f65ecaf545561eb3d450fa43746d1a
SHA1 (patch-ah) = 7cd4278c9bdc5220de04f7e6b62bb8d11c892ffb
SHA1 (patch-aj) = 2e619c6f16a1256174fd3e6e4bca3214679a9347

View file

@ -0,0 +1,126 @@
$NetBSD: patch-aj,v 1.5 2002/03/25 15:19:31 briggs Exp $
*** mit-pthreads/machdep/syscall-powerpc-netbsd.S Thu Feb 14 12:30:14 2002
--- mit-pthreads/machdep/syscall-powerpc-netbsd.S Mon Mar 25 09:52:47 2002
***************
*** 1,10 ****
#include <machine/asm.h>
#define COMPAT_43
#include <sys/syscall.h>
- #ifndef __CONCAT
- #include <sys/cdefs.h>
- #endif
- #define CONCAT __CONCAT
#undef SYSCALL
--- 1,6 ----
***************
*** 26,45 ****
SYSCALL invocation. */
ENTRY(machdep_cerror)
! mflr 0 # Save LR in 0
! stwu 1,-16(1) # allocate new stack frame
! stw 0,20(1) # Stash 0 in stack
! stw 31,8(1) # Stash 31 in stack (since it's callee-saved
! mr 31,3 # and we stash return there)
bl PIC_PLT(_C_LABEL(__errno))
! stw 31,0(3) # *errno() = err
! lwz 0,20(1) # Restore LR from stack to 0
! neg 3,31 # return -errno to 3
! lwz 31,8(1) # Restore 31 from stack
mtlr 0
! la 1,16(1) # Restore stack frame
! li 4,-1 # Put -1 in r4 for those syscalls that return
! blr # two values
/* The fork system call is special... */
ENTRY(machdep_sys_fork)
--- 22,41 ----
SYSCALL invocation. */
ENTRY(machdep_cerror)
! mflr 0 /* Save LR in 0 */
! stwu 1,-16(1) /* allocate new stack frame */
! stw 0,20(1) /* Stash 0 in stack */
! stw 31,8(1) /* Stash 31 in stack (since it's callee-saved */
! mr 31,3 /* and we stash return there) */
bl PIC_PLT(_C_LABEL(__errno))
! stw 31,0(3) /* *errno() = err */
! lwz 0,20(1) /* Restore LR from stack to 0 */
! neg 3,31 /* return -errno to 3 */
! lwz 31,8(1) /* Restore 31 from stack */
mtlr 0
! la 1,16(1) /* Restore stack frame */
! li 4,-1 /* Put -1 in r4 for those syscalls that ret */
! blr /* two values */
/* The fork system call is special... */
ENTRY(machdep_sys_fork)
***************
*** 55,64 ****
li 0,SYS_pipe
sc
bso PIC_PLT(_C_LABEL(machdep_cerror))
! stw 3,0(5) # Success, store fds
stw 4,4(5)
li 3,0
! blr # And return 0
#ifndef SYS___sigsuspend14
/* The sigsuspend system call is special... */
--- 51,60 ----
li 0,SYS_pipe
sc
bso PIC_PLT(_C_LABEL(machdep_cerror))
! stw 3,0(5) /* Success, store fds */
stw 4,4(5)
li 3,0
! blr /* And return 0 */
#ifndef SYS___sigsuspend14
/* The sigsuspend system call is special... */
***************
*** 72,91 ****
#ifndef SYS___sigprocmask14
/* The sigprocmask system call is special... */
ENTRY(machdep_sys_sigprocmask)
! or. 4,4,4 # Set == NULL ?
! li 6,1 # how = SIG_BLOCK
beq Ldoit
! lwz 4,0(4) # if not, replace it in r4 with #set
mr 6,3
! Ldoit: mr 3,6 # ... using sigprocmask(SIG_BLOCK)
li 0,SYS_compat_13_sigprocmask13
sc
bso PIC_PLT(_C_LABEL(machdep_cerror))
! or. 5,5,5 # Check to see if oset requested
! beq Ldone # if oset != NULL
! stw 3,0(5) # *oset = oldmask
Ldone:
! li 3,0 # return 0
blr
#endif /* SYS_sigprocmask14 */
--- 68,87 ----
#ifndef SYS___sigprocmask14
/* The sigprocmask system call is special... */
ENTRY(machdep_sys_sigprocmask)
! or. 4,4,4 /* Set == NULL ? */
! li 6,1 /* how = SIG_BLOCK */
beq Ldoit
! lwz 4,0(4) /* if not, replace it in r4 with #set */
mr 6,3
! Ldoit: mr 3,6 /* ... using sigprocmask(SIG_BLOCK) */
li 0,SYS_compat_13_sigprocmask13
sc
bso PIC_PLT(_C_LABEL(machdep_cerror))
! or. 5,5,5 /* Check to see if oset requested */
! beq Ldone /* if oset != NULL */
! stw 3,0(5) /* *oset = oldmask */
Ldone:
! li 3,0 /* return 0 */
blr
#endif /* SYS_sigprocmask14 */