Use new macros. Fix various bugs. Document that it isn't tested.
authordrepper <drepper>
Thu, 11 Sep 1997 12:03:22 +0000 (12:03 +0000)
committerdrepper <drepper>
Thu, 11 Sep 1997 12:03:22 +0000 (12:03 +0000)
sysdeps/unix/sysv/linux/powerpc/brk.c [deleted file]
sysdeps/unix/sysv/linux/powerpc/sigreturn.S
sysdeps/unix/sysv/linux/powerpc/socket.S
sysdeps/unix/sysv/linux/powerpc/syscall.S

diff --git a/sysdeps/unix/sysv/linux/powerpc/brk.c b/sysdeps/unix/sysv/linux/powerpc/brk.c
deleted file mode 100644 (file)
index e9826bd..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* brk system call for Linux/ppc.
-   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <sysdep.h>
-#include <errno.h>
-
-void *__curbrk;
-
-int
-__brk (void *addr)
-{
-  register void *syscall_arg asm ("r3") = addr;
-  register int syscall_number asm ("r0") = SYS_ify (brk);
-  register void *newbrk asm ("r3");
-  asm ("sc"
-       : "=r" (newbrk)
-       : "r" (syscall_arg), "r" (syscall_number)
-       : "r4","r5","r6","r7","r8","r9","r10","r11","r12",
-         "ctr", "mq", "cr0", "cr1", "cr6", "cr7");
-
-  __curbrk = newbrk;
-
-  if (newbrk < addr)
-    {
-      __set_errno (ENOMEM);
-      return -1;
-    }
-
-  return 0;
-}
-weak_alias (__brk, brk)
index 748c267..9b9413e 100644 (file)
@@ -18,9 +18,6 @@
 
 #include <sysdep.h>
 
-/* The 'sigreturn' syscall does not return.  */
-
-       .text
-ENTRY(__sigreturn)
-       DO_CALL(SYS_ify(sigreturn))
-PSEUDO_END (__sigreturn)
+PSEUDO (__sigreturn, sigreturn, 1)
+       /* Shouldn't get here.  */
+PSEUDO_END(__sigreturn)
index 904bca4..681f7e6 100644 (file)
@@ -71,17 +71,11 @@ ENTRY(P(__,socket))
 #if NARGS >= 9
 #error too many arguments!
 #endif
-       li   %r3,P(SOCKOP_,socket)
-       addi %r4,%r1,stackblock
+       li      %r3,P(SOCKOP_,socket)
+       addi    %r4,%r1,stackblock
        DO_CALL(SYS_ify(socketcall))
-       addi %r1,%r1,48
-       bnslr
-#ifdef PIC
-       b __syscall_error@plt
-#else
-       b __syscall_error
-#endif
-
+       addi    %r1,%r1,48
+       PSEUDO_RET
 PSEUDO_END (P(__,socket))
 
 weak_alias (P(__,socket), socket)
index 2cb5482..4d55076 100644 (file)
@@ -18,7 +18,6 @@
 
 #include <sysdep.h>
 
-       .text
 ENTRY (syscall)
        mr   %r0,%r3
        mr   %r3,%r4
@@ -27,10 +26,5 @@ ENTRY (syscall)
        mr   %r6,%r7
        mr   %r7,%r8
        sc
-       bnslr
-#ifdef PIC
-       b __syscall_error@plt
-#else
-       b __syscall_error
-#endif
+       PSEUDO_RET
 PSEUDO_END (syscall)