summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-12-16 14:31:24 -0800
committerRoland McGrath <roland@hack.frob.com>2014-12-16 14:31:24 -0800
commitc324fcfe75c3976ae0b16943df00710e1d0d74f7 (patch)
tree5c1165c36c9697c408c4a4b3cac6a0bf7f2a0a39 /sysdeps
parent380292ba8b97c82a8ede3ed35f6a3c42b7b47466 (diff)
downloadglibc-c324fcfe75c3976ae0b16943df00710e1d0d74f7.tar.gz
Use pragmas rather than makefiles for necessary options for unwind code.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/gnu/Makefile2
-rw-r--r--sysdeps/gnu/unwind-resume.c2
-rw-r--r--sysdeps/nptl/unwind-forcedunwind.c2
-rw-r--r--sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c2
4 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
index ba495ed236..8d407f71e1 100644
--- a/sysdeps/gnu/Makefile
+++ b/sysdeps/gnu/Makefile
@@ -79,11 +79,9 @@ endif
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
diff --git a/sysdeps/gnu/unwind-resume.c b/sysdeps/gnu/unwind-resume.c
index 5044a7182e..a23d19ae7f 100644
--- a/sysdeps/gnu/unwind-resume.c
+++ b/sysdeps/gnu/unwind-resume.c
@@ -21,6 +21,8 @@
#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)
diff --git a/sysdeps/nptl/unwind-forcedunwind.c b/sysdeps/nptl/unwind-forcedunwind.c
index 9d7bdc5b90..bbb366f1ae 100644
--- a/sysdeps/nptl/unwind-forcedunwind.c
+++ b/sysdeps/nptl/unwind-forcedunwind.c
@@ -23,6 +23,8 @@
#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)
diff --git a/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c b/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
index 660d1488e1..3f347a04b4 100644
--- a/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
+++ b/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
@@ -21,6 +21,8 @@
#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__;