summaryrefslogtreecommitdiff
path: root/libgcc/crtstuff.c
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-22 00:49:01 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-22 00:49:01 +0000
commitd0eb4a95454f873bb4fc05432661aa233af2e7c0 (patch)
treeb6f33662c68bf5cebe1c4bee71f55e32a48e2490 /libgcc/crtstuff.c
parent38f5b13ef5dd25c4fb5995bd8aa9c3a3d13b7b16 (diff)
downloadgcc-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.c7
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__) \