+2014-12-16 Roland McGrath <roland@hack.frob.com>
+
+ * nptl/unwind.c: Use pragma to turn on -fexceptions.
+ * sysdeps/nptl/unwind-forcedunwind.c: Use pragma to turn on
+ -fexceptions and -fasynchronous-unwind-tables.
+ * sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c: Likewise.
+ * sysdeps/gnu/unwind-resume.c: Likewise.
+ * nptl/Makefile (CFLAGS-unwind.c, CFLAGS-unwind-forcedunwind.c):
+ Variables removed.
+ * sysdeps/gnu/Makefile
+ [$(subdir) = csu] (CFLAGS-unwind-resume.c): Likewise.
+ [$(subdir) = rt] (CFLAGS-rt-unwind-resume.c): Likewise.
+
2014-12-16 Joseph Myers <joseph@codesourcery.com>
[BZ #17719]
# nptl-init.c contains sigcancel_handler().
CFLAGS-nptl-init.c = -fexceptions -fasynchronous-unwind-tables
-# The unwind code itself,
-CFLAGS-unwind.c = -fexceptions
-CFLAGS-unwind-forcedunwind.c = -fexceptions -fasynchronous-unwind-tables
# The following three functions must be async-cancel safe.
CFLAGS-pthread_cancel.c = -fexceptions -fasynchronous-unwind-tables
#include "pthreadP.h"
#include <jmpbuf-unwind.h>
+#pragma GCC optimize "-fexceptions"
+
#ifdef HAVE_FORCED_UNWIND
#ifdef _STACK_GROWS_DOWN
ifeq ($(subdir),csu)
routines += unwind-resume
shared-only-routines += unwind-resume
-CFLAGS-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
endif
ifeq ($(subdir),rt)
librt-sysdep_routines += rt-unwind-resume
librt-shared-only-routines += rt-unwind-resume
-CFLAGS-rt-unwind-resume.c += -fexceptions -fasynchronous-unwind-tables
endif
#include <unwind.h>
#include <gnu/lib-names.h>
+#pragma GCC optimize ("-fexceptions", "-fasynchronous-unwind-tables")
+
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
__attribute__ ((noreturn));
static _Unwind_Reason_Code (*libgcc_s_personality)
#include <sysdep.h>
#include <gnu/lib-names.h>
+#pragma GCC optimize ("-fexceptions", "-fasynchronous-unwind-tables")
+
static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
static _Unwind_Reason_Code (*libgcc_s_personality)
#include <unwind.h>
#include <pthreadP.h>
+#pragma GCC optimize ("-fexceptions", "-fasynchronous-unwind-tables")
+
static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
__attribute_used__;