summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-03-28 12:16:28 -0500
committerRyan S. Arnold <rsa@linux.vnet.ibm.com>2013-07-25 15:32:35 -0500
commitace889170837e550871cf0d33f88ba2470c7d834 (patch)
tree117f7a10878a1c180d9b0cb85d535bf9768d6e16
parentdad835a11f370afd2dae4bac554fa64fac5a8c6e (diff)
downloadglibc-ace889170837e550871cf0d33f88ba2470c7d834.tar.gz
PowerPC: .eh_frame info in crt1.o isn't useful and triggers gold bug 14675.
The .eh_frame info in crt1.o isn't useful and this patch prevents it from being generated on PowerPC. It triggers the following gold bug: http://sourceware.org/bugzilla/show_bug.cgi?id=14675 (cherry picked from commit b0f1246ab45b6d27e2bba64aa8dfe407ac740537)
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/powerpc/powerpc32/start.S7
-rw-r--r--sysdeps/powerpc/powerpc64/start.S7
3 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 021665218b..3eee9be66e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2013-03-28 Alan Modra <amodra@gmail.com>
+
+ * sysdeps/powerpc/powerpc32/start.S (cfi_startproc, cfi_endproc):
+ Define as empty.
+ * sysdeps/powerpc/powerpc64/start.S (cfi_startproc, cfi_endproc):
+ Likewise.
+
2013-03-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* sysdeps/powerpc/fpu/s_llround.c: Fix libm ABI issue with missing
diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
index 4935e64976..2e454c0722 100644
--- a/sysdeps/powerpc/powerpc32/start.S
+++ b/sysdeps/powerpc/powerpc32/start.S
@@ -37,6 +37,13 @@
#include <sysdep.h>
#include "bp-sym.h"
+/* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+#undef cfi_startproc
+#define cfi_startproc
+#undef cfi_endproc
+#define cfi_endproc
+
/* These are the various addresses we require. */
#ifdef PIC
.section ".data"
diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
index d9c92d139f..aadaf0fae8 100644
--- a/sysdeps/powerpc/powerpc64/start.S
+++ b/sysdeps/powerpc/powerpc64/start.S
@@ -37,6 +37,13 @@
#include <sysdep.h>
#include "bp-sym.h"
+/* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+#undef cfi_startproc
+#define cfi_startproc
+#undef cfi_endproc
+#define cfi_endproc
+
/* These are the various addresses we require. */
#ifdef PIC
.section ".data.rel.ro.local","aw"