crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc even if inhibit_libc.

* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
	even if inhibit_libc.

From-SVN: r190517
This commit is contained in:
Joseph Myers 2012-08-19 16:11:40 +01:00 committed by Joseph Myers
parent cf21551eac
commit d246814197
2 changed files with 20 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2012-08-19 Joseph Myers <joseph@codesourcery.com>
* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
even if inhibit_libc.
2012-08-17 Julian Brown <julian@codesourcery.com> 2012-08-17 Julian Brown <julian@codesourcery.com>
* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to * Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to

View File

@ -1,7 +1,7 @@
/* Specialized bits of code needed to support construction and /* Specialized bits of code needed to support construction and
destruction of file-scope objects in C++ code. destruction of file-scope objects in C++ code.
Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 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. Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@monkeys.com). Contributed by Ron Guilmette (rfg@monkeys.com).
@ -113,6 +113,20 @@ call_ ## FUNC (void) \
# define USE_PT_GNU_EH_FRAME # define USE_PT_GNU_EH_FRAME
# endif # endif
#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) #if defined(EH_FRAME_SECTION_NAME) && !defined(USE_PT_GNU_EH_FRAME)
# define USE_EH_FRAME_REGISTRY # define USE_EH_FRAME_REGISTRY
#endif #endif