about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
diff options
context:
space:
mode:
authorWill Schmidt <will_schmidt@vnet.ibm.com>2011-12-17 15:07:31 -0500
committerUlrich Drepper <drepper@gmail.com>2011-12-17 15:07:31 -0500
commit91d2a8453f501c4fc6cadde9cf00e6cced17a40c (patch)
tree512de598cd4294aa681266dad0dfea09f9ca8570 /sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
parenta1267ba1c6967afdc9ed9af16e3b42f5a240988e (diff)
downloadglibc-91d2a8453f501c4fc6cadde9cf00e6cced17a40c.tar.gz
glibc-91d2a8453f501c4fc6cadde9cf00e6cced17a40c.tar.xz
glibc-91d2a8453f501c4fc6cadde9cf00e6cced17a40c.zip
Simplify code for accessing powerpc GOT
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
index f304090868..a2f419b0e1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
@@ -1,5 +1,5 @@
 /* Jump to a new context powerpc32 common.
-   Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008, 2009, 2011 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
@@ -73,10 +73,9 @@ ENTRY(__CONTEXT_FUNC_NAME)
 
 #ifdef PIC
 	mflr    r8
-	bcl	20,31,1f
-1:	mflr	r7
-	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
-	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
+	SETUP_GOT_ACCESS(r7,got_label)
+	addis	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
+	addi	r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
 # ifdef SHARED
 	lwz     r7,_rtld_global_ro@got(r7)
 	mtlr    r8