* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
authorJakub Jelinek <jakub@redhat.com>
Sun, 5 Aug 2007 13:43:20 +0000 (13:43 +0000)
committerJakub Jelinek <jakub@redhat.com>
Sun, 5 Aug 2007 13:43:20 +0000 (13:43 +0000)
Don't use CGOTSETUP and CGOTRESTORE macros.
(CGOTSETUP, CGOTRESTORE): Remove.
<IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to
@local symbol.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.
2007-08-05  Jakub Jelinek  <jakub@redhat.com>

* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.

ChangeLog
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S

index e5cfbb3..641f5df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
+       Don't use CGOTSETUP and CGOTRESTORE macros.
+
 2007-08-04  Roland McGrath  <roland@redhat.com>
 
        * posix/Makefile ($(objpfx)getconf.speclist): Fix typo.
index 6bbd304..34fd724 100644 (file)
@@ -1,3 +1,11 @@
+2007-08-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
+       Don't use CGOTSETUP and CGOTRESTORE macros.
+       (CGOTSETUP, CGOTRESTORE): Remove.
+       <IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to
+       @local symbol.
+
 2007-08-01  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
        * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Remove
index 3752abc..88b24e7 100644 (file)
@@ -1,5 +1,5 @@
 /* Cancellable system call stubs.  Linux/PowerPC version.
-   Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>, 2003.
 
@@ -44,7 +44,6 @@
     mflr 9;                                                            \
     stw 9,52(1);                                                       \
     cfi_offset (lr, 4);                                                        \
-    CGOTSETUP;                                                         \
     DOCARGS_##args;    /* save syscall args around CENABLE.  */        \
     CENABLE;                                                           \
     stw 3,16(1);       /* store CENABLE return value (MASK).  */       \
@@ -58,7 +57,6 @@
     lwz 4,52(1);                                                       \
     lwz 0,12(1);       /* restore CR/R3. */                            \
     lwz 3,8(1);                                                                \
-    CGOTRESTORE;                                                       \
     mtlr 4;                                                            \
     mtcr 0;                                                            \
     addi 1,1,48;
@@ -84,9 +82,6 @@
 # define DOCARGS_6     stw 8,40(1); DOCARGS_5
 # define UNDOCARGS_6   lwz 8,40(1); UNDOCARGS_5
 
-# define CGOTSETUP
-# define CGOTRESTORE
-
 # ifdef IS_IN_libpthread
 #  define CENABLE      bl __pthread_enable_asynccancel@local
 #  define CDISABLE     bl __pthread_disable_asynccancel@local
 #  define CENABLE      bl __libc_enable_asynccancel@local
 #  define CDISABLE     bl __libc_disable_asynccancel@local
 # elif defined IS_IN_librt
-#  define CENABLE      bl JUMPTARGET(__librt_enable_asynccancel)
-#  define CDISABLE     bl JUMPTARGET(__librt_disable_asynccancel)
-#  if defined HAVE_AS_REL16 && defined PIC
-#   undef CGOTSETUP
-#   define CGOTSETUP                                                   \
-    bcl 20,31,1f;                                                      \
- 1: stw 30,44(1);                                                      \
-    mflr 30;                                                           \
-    addis 30,30,_GLOBAL_OFFSET_TABLE-1b@ha;                            \
-    addi 30,30,_GLOBAL_OFFSET_TABLE-1b@l
-#   undef CGOTRESTORE
-#   define CGOTRESTORE                                                 \
-    lwz 30,44(1)
-#  endif
+#  define CENABLE      bl __librt_enable_asynccancel@local
+#  define CDISABLE     bl __librt_disable_asynccancel@local
 # else
 #  error Unsupported library
 # endif
index 0bb5bef..c0e98d9 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995,96,97,99, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997, 1999, 2003, 2006, 2007
+   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
@@ -93,7 +94,6 @@ ENTRY(__socket)
        mflr    r9
        stw     r9,52(r1)
        cfi_offset (lr, 4)
-       CGOTSETUP
        CENABLE
        stw     r3,16(r1)
        li      r3,P(SOCKOP_,socket)
@@ -107,7 +107,6 @@ ENTRY(__socket)
        lwz     r4,52(r1)
        lwz     r0,12(r1)
        lwz     r3,8(r1)
-       CGOTRESTORE
        mtlr    r4
        mtcr    r0
        addi    r1,r1,48