diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-22 00:49:01 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-22 00:49:01 +0000 |
commit | d0eb4a95454f873bb4fc05432661aa233af2e7c0 (patch) | |
tree | b6f33662c68bf5cebe1c4bee71f55e32a48e2490 /libgcc/crtstuff.c | |
parent | 38f5b13ef5dd25c4fb5995bd8aa9c3a3d13b7b16 (diff) | |
download | gcc-d0eb4a95454f873bb4fc05432661aa233af2e7c0.tar.gz |
* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
override USE_PT_GNU_EH_FRAME.
[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
check USE_EH_FRAME_REGISTRY_ALWAYS against
__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
variable for substituted force_explicit_eh_registry.
(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
* configure.ac (explicit-exception-frame-registration):
New AC_ARG_ENABLE.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215443 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/crtstuff.c')
-rw-r--r-- | libgcc/crtstuff.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index 4bea6b9f8cc..03a30fe176e 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -131,7 +131,12 @@ call_ ## FUNC (void) \ # define USE_PT_GNU_EH_FRAME #endif -#if defined(__LIBGCC_EH_FRAME_SECTION_NAME__) && !defined(USE_PT_GNU_EH_FRAME) +#ifdef USE_EH_FRAME_REGISTRY_ALWAYS +# ifndef __LIBGCC_EH_FRAME_SECTION_NAME__ +# error "Can't use explicit exception-frame-registration without __LIBGCC_EH_FRAME_SECTION_NAME__" +# endif +#endif +#if defined(__LIBGCC_EH_FRAME_SECTION_NAME__) && (!defined(USE_PT_GNU_EH_FRAME) || defined(USE_EH_FRAME_REGISTRY_ALWAYS)) # define USE_EH_FRAME_REGISTRY #endif #if defined(__LIBGCC_EH_FRAME_SECTION_NAME__) \ |