aboutsummaryrefslogtreecommitdiff
path: root/nptl
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 /nptl
parentb5075bdc05a705ca36f02885d764abe37b6057bb (diff)
downloadglibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.tar
glibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.tar.gz
glibc-0470fa4610349a3a0ab5859b2f0ddcf1208d11f4.tar.bz2
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.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog8
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h23
2 files changed, 11 insertions, 20 deletions
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