about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-08-05 13:43:20 +0000
committerJakub Jelinek <jakub@redhat.com>2007-08-05 13:43:20 +0000
commit0470fa4610349a3a0ab5859b2f0ddcf1208d11f4 (patch)
treec73d2db88c9e658534888751ebc0719c4bb34d18
parentb5075bdc05a705ca36f02885d764abe37b6057bb (diff)
downloadglibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.tar.gz
glibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.tar.xz
glibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.zip
* 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.
	* 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.
-rw-r--r--ChangeLog5
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h23
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S5
4 files changed, 18 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index e5cfbb3fbc..641f5dfc46 100644
--- 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.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6bbd304fe2..34fd724d9b 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
index 3752abc870..88b24e7d95 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
@@ -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
@@ -94,20 +89,8 @@
 #  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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
index 0bb5bef78b..c0e98d9bed 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S
@@ -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