This makes the libgcc builds identical when done with gcc-cross-initial or final gcc-cross. Since eglibc only sees gcc-cross-initial it is important that the final libgcc that appears on root file system is same as the one against which eglibc was built. (From OE-Core rev: bd0ab094d6c36b55848e23e63b96587773299a7f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
50 lines
1.9 KiB
Diff
50 lines
1.9 KiB
Diff
From 935475158f45b9c55a54647543c0402b4b3043ae Mon Sep 17 00:00:00 2001
|
|
From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Sun, 19 Aug 2012 15:11:40 +0000
|
|
Subject: [PATCH] * crtstuff.c (USE_PT_GNU_EH_FRAME): Define for
|
|
systems using glibc even if inhibit_libc.
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190517 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
---
|
|
libgcc/ChangeLog | 5 +++++
|
|
libgcc/crtstuff.c | 16 +++++++++++++++-
|
|
2 files changed, 20 insertions(+), 1 deletion(-)
|
|
|
|
Upstream-Status: Backport
|
|
|
|
-Khem 05-Sep-2012
|
|
Index: gcc-4_7-branch/libgcc/crtstuff.c
|
|
===================================================================
|
|
--- gcc-4_7-branch.orig/libgcc/crtstuff.c 2012-08-21 22:33:20.000000000 -0700
|
|
+++ gcc-4_7-branch/libgcc/crtstuff.c 2012-09-05 17:28:49.248994968 -0700
|
|
@@ -1,7 +1,7 @@
|
|
/* Specialized bits of code needed to support construction and
|
|
destruction of file-scope objects in C++ code.
|
|
Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
|
|
- 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
|
|
+ 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012
|
|
Free Software Foundation, Inc.
|
|
Contributed by Ron Guilmette (rfg@monkeys.com).
|
|
|
|
@@ -113,6 +113,20 @@
|
|
# define USE_PT_GNU_EH_FRAME
|
|
# endif
|
|
#endif
|
|
+
|
|
+#if defined(OBJECT_FORMAT_ELF) \
|
|
+ && !defined(OBJECT_FORMAT_FLAT) \
|
|
+ && defined(HAVE_LD_EH_FRAME_HDR) \
|
|
+ && !defined(CRTSTUFFT_O) \
|
|
+ && defined(inhibit_libc) \
|
|
+ && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__))
|
|
+/* On systems using glibc, an inhibit_libc build of libgcc is only
|
|
+ part of a bootstrap process. Build the same crt*.o as would be
|
|
+ built with headers present, so that it is not necessary to build
|
|
+ glibc more than once for the bootstrap to converge. */
|
|
+# define USE_PT_GNU_EH_FRAME
|
|
+#endif
|
|
+
|
|
#if defined(EH_FRAME_SECTION_NAME) && !defined(USE_PT_GNU_EH_FRAME)
|
|
# define USE_EH_FRAME_REGISTRY
|
|
#endif
|