aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc64/__longjmp-common.S
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-05-16 22:40:23 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2012-05-18 12:00:22 +0200
commit37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9 (patch)
tree2f4e60a73db2f095737638b41869fe9335ce3ed4 /sysdeps/powerpc/powerpc64/__longjmp-common.S
parentb53ef01aa25acc4c4f0b41dd120e90d6eb69e370 (diff)
downloadglibc-37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9.tar
glibc-37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9.tar.gz
glibc-37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9.tar.bz2
glibc-37fb1dc05733e0f3d7eca64820dc5c2c25f2a6d9.zip
Avoid runtime GOT relocations in ld.so on powerpc
Diffstat (limited to 'sysdeps/powerpc/powerpc64/__longjmp-common.S')
-rw-r--r--sysdeps/powerpc/powerpc64/__longjmp-common.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/sysdeps/powerpc/powerpc64/__longjmp-common.S b/sysdeps/powerpc/powerpc64/__longjmp-common.S
index 2ff9078ec2..716b8ab7b0 100644
--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S
+++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S
@@ -1,5 +1,5 @@
/* longjmp for PowerPC64.
- Copyright (C) 1995, 1996,1997,1999-2006,2009 Free Software Foundation, Inc.
+ Copyright (C) 1995-2012 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
@@ -31,7 +31,13 @@
.section ".toc","aw"
.LC__dl_hwcap:
# ifdef SHARED
+# ifdef IS_IN_rtld
+ /* Inside ld.so we use the local alias to avoid runtime GOT
+ relocations. */
+ .tc _rtld_local_ro[TC],_rtld_local_ro
+# else
.tc _rtld_global_ro[TC],_rtld_global_ro
+# endif
# else
.tc _dl_hwcap[TC],_dl_hwcap
# endif