about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan S. Arnold <rsa@us.ibm.com>2011-02-17 00:59:15 -0500
committerCarlos O'Donell <carlos@codesourcery.com>2011-02-22 11:03:08 -0500
commit21afa712db5ecfc4d847fc36d0eedf173212a15a (patch)
treea3dfc48cbaf7808b4d335876442ce0b4b6d940e6
parentad05c6671f083f315ea9e6973a3a2ae7f38dbe96 (diff)
downloadglibc-21afa712db5ecfc4d847fc36d0eedf173212a15a.tar.gz
glibc-21afa712db5ecfc4d847fc36d0eedf173212a15a.tar.xz
glibc-21afa712db5ecfc4d847fc36d0eedf173212a15a.zip
Disable VSX usage in rtld.c to prevent TOC ref before relocs are resolved.
(cherry picked from commit 2206397e1c46f69fb20eeb3de1920d3a7014c325)
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/powerpc/powerpc64/power7/Makefile5
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6a57302c95..151753ef26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-15  Ryan S. Arnold  <rsa@us.ibm.com>
+
+	* sysdeps/powerpc/powerpc64/power7/Makefile: New file which adds
+	-mno-vsx to the CFLAGS-rtld.c variable to avoid using VSX registers and
+	insns in _dl_start to prevent a TOC reference before relocs are
+	resolved.
+
 2011-02-02  Ulrich Drepper  <drepper@gmail.com>
 
 	* elf/dl-runtime.c (_dl_call_pltexit): Pass correct address of the
diff --git a/sysdeps/powerpc/powerpc64/power7/Makefile b/sysdeps/powerpc/powerpc64/power7/Makefile
new file mode 100644
index 0000000000..b0f45205b9
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/power7/Makefile
@@ -0,0 +1,5 @@
+ifeq ($(subdir),elf)
+# Prevent the use of VSX registers and insns in _dl_start, which under -O3
+# optimization may require a TOC reference before relocations are resolved.
+CFLAGS-rtld.c += -mno-vsx
+endif