about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-15 22:35:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-15 22:35:13 +0000
commit56ab386964d99ab9b28957330af09e5ca33482f6 (patch)
treebaa5384784241c991cbe6a4c5fbcf74f9337e912
parentcf1455657ec916ecd78c9d2c3bcbbf6608e6c158 (diff)
downloadglibc-56ab386964d99ab9b28957330af09e5ca33482f6.tar.gz
glibc-56ab386964d99ab9b28957330af09e5ca33482f6.tar.xz
glibc-56ab386964d99ab9b28957330af09e5ca33482f6.zip
Remove -fexceptions configure test.
There is a configure test for -fexceptions.  This option was added in
GCC 2.8, so the test is obsolete - and indeed plenty of code is using
-fexceptions directly.  This patch removes the configure test and
makes all uses of $(exceptions) use -fexceptions directly.

Tested for x86_64 and x86 (testsuite, and that installed shared
libraries are unchanged by the patch).

	* configure.ac (libc_cv_gcc_exceptions): Remove configure test.
	* configure: Regenerated.
	* sysdeps/arm/configure.ac (libc_cv_gcc_exceptions): Do not set
	variable.
	(exceptions): Likewise.
	* sysdeps/arm/configure: Regenerated.
	* config.make.in (exceptions): Remove variable.
	* Makeconfig (uses-callbacks): Use -fexceptions instead of
	$(exceptions).
	* debug/Makefile (CFLAGS-dprintf_chk.c): Likewise.
	(CFLAGS-vdprintf_chk.c): Likewise.
	(CFLAGS-printf_chk.c): Likewise.
	(CFLAGS-fprintf_chk.c): Likewise.
	(CFLAGS-vprintf_chk.c): Likewise.
	(CFLAGS-vfprintf_chk.c): Likewise.
	(CFLAGS-gets_chk.c): Likewise.
	(CFLAGS-fgets_chk.c): Likewise.
	(CFLAGS-fgets_u_chk.c): Likewise.
	(CFLAGS-fread_chk.c): Likewise.
	(CFLAGS-fread_u_chk.c): Likewise.
	(CFLAGS-wprintf_chk.c): Likewise.
	(CFLAGS-fwprintf_chk.c): Likewise.
	(CFLAGS-vwprintf_chk.c): Likewise.
	(CFLAGS-vfwprintf_chk.c): Likewise.
	(CFLAGS-fgetws_chk.c): Likewise.
	(CFLAGS-fgetws_u_chk.c): Likewise.
	* libio/Makefile (CFLAGS-fileops.c): Likewise.
	(CFLAGS-fputc.c): Likewise.
	(CFLAGS-fputwc.c): Likewise.
	(CFLAGS-freopen64.c): Likewise.
	(CFLAGS-freopen.c): Likewise.
	(CFLAGS-fseek.c): Likewise.
	(CFLAGS-fseeko64.c): Likewise.
	(CFLAGS-fseeko.c): Likewise.
	(CFLAGS-ftello64.c): Likewise.
	(CFLAGS-ftello.c): Likewise.
	(CFLAGS-fwide.c): Likewise.
	(CFLAGS-genops.c): Likewise.
	(CFLAGS-getc.c): Likewise.
	(CFLAGS-getchar.c): Likewise.
	(CFLAGS-getwc.c): Likewise.
	(CFLAGS-getwchar.c): Likewise.
	(CFLAGS-iofclose.c): Likewise.
	(CFLAGS-iofflush.c): Likewise.
	(CFLAGS-iofgetpos64.c): Likewise.
	(CFLAGS-iofgetpos.c): Likewise.
	(CFLAGS-iofgets.c): Likewise.
	(CFLAGS-iofgetws.c): Likewise.
	(CFLAGS-iofputs.c): Likewise.
	(CFLAGS-iofputws.c): Likewise.
	(CFLAGS-iofread.c): Likewise.
	(CFLAGS-iofsetpos64.c): Likewise.
	(CFLAGS-iofsetpos.c): Likewise.
	(CFLAGS-ioftell.c): Likewise.
	(CFLAGS-iofwrite.c): Likewise.
	(CFLAGS-iogetdelim.c): Likewise.
	(CFLAGS-iogetline.c): Likewise.
	(CFLAGS-iogets.c): Likewise.
	(CFLAGS-iogetwline.c): Likewise.
	(CFLAGS-ioputs.c): Likewise.
	(CFLAGS-ioseekoff.c): Likewise.
	(CFLAGS-ioseekpos.c): Likewise.
	(CFLAGS-iosetbuffer.c): Likewise.
	(CFLAGS-iosetvbuf.c): Likewise.
	(CFLAGS-ioungetc.c): Likewise.
	(CFLAGS-ioungetwc.c): Likewise.
	(CFLAGS-oldfileops.c): Likewise.
	(CFLAGS-oldiofclose.c): Likewise.
	(CFLAGS-oldiofgetpos64.c): Likewise.
	(CFLAGS-oldiofgetpos.c): Likewise.
	(CFLAGS-oldiofsetpos64.c): Likewise.
	(CFLAGS-oldiofsetpos.c): Likewise.
	(CFLAGS-peekc.c): Likewise.
	(CFLAGS-putc.c): Likewise.
	(CFLAGS-putchar.c): Likewise.
	(CFLAGS-putwc.c): Likewise.
	(CFLAGS-putwchar.c): Likewise.
	(CFLAGS-rewind.c): Likewise.
	(CFLAGS-wfileops.c): Likewise.
	(CFLAGS-wgenops.c): Likewise.
	(CFLAGS-oldiofopen.c): Likewise.
	(CFLAGS-iofopen.c): Likewise.
	(CFLAGS-iofopen64.c): Likewise.
	(CFLAGS-oldtmpfile.c): Likewise.
	* stdio-common/Makefile (CFLAGS-vfprintf.c): Likewise.
	(CFLAGS-fprintf.c): Likewise.
	(CFLAGS-printf.c): Likewise.
	(CFLAGS-vfwprintf.c): Likewise.
	(CFLAGS-vfscanf.c): Likewise.
	(CFLAGS-vfwscanf.c): Likewise.
	(CFLAGS-fscanf.c): Likewise.
	(CFLAGS-scanf.c): Likewise.
	(CFLAGS-isoc99_vfscanf.c): Likewise.
	(CFLAGS-isoc99_vscanf.c): Likewise.
	(CFLAGS-isoc99_fscanf.c): Likewise.
	(CFLAGS-isoc99_scanf.c): Likewise.
	* wcsmbs/Makefile (CFLAGS-isoc99_wscanf.c): Likewise.
	(CFLAGS-isoc99_fwscanf.c): Likewise.
	(CFLAGS-isoc99_vwscanf.c): Likewise.
	(CFLAGS-isoc99_vfwscanf.c): Likewise.
-rw-r--r--ChangeLog101
-rw-r--r--Makeconfig2
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure31
-rw-r--r--configure.ac20
-rw-r--r--debug/Makefile34
-rw-r--r--libio/Makefile116
-rw-r--r--stdio-common/Makefile24
-rw-r--r--sysdeps/arm/configure3
-rw-r--r--sysdeps/arm/configure.ac6
-rw-r--r--wcsmbs/Makefile8
11 files changed, 193 insertions, 153 deletions
diff --git a/ChangeLog b/ChangeLog
index 9465483f83..e91c7e7475 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,106 @@
 2015-10-15  Joseph Myers  <joseph@codesourcery.com>
 
+	* configure.ac (libc_cv_gcc_exceptions): Remove configure test.
+	* configure: Regenerated.
+	* sysdeps/arm/configure.ac (libc_cv_gcc_exceptions): Do not set
+	variable.
+	(exceptions): Likewise.
+	* sysdeps/arm/configure: Regenerated.
+	* config.make.in (exceptions): Remove variable.
+	* Makeconfig (uses-callbacks): Use -fexceptions instead of
+	$(exceptions).
+	* debug/Makefile (CFLAGS-dprintf_chk.c): Likewise.
+	(CFLAGS-vdprintf_chk.c): Likewise.
+	(CFLAGS-printf_chk.c): Likewise.
+	(CFLAGS-fprintf_chk.c): Likewise.
+	(CFLAGS-vprintf_chk.c): Likewise.
+	(CFLAGS-vfprintf_chk.c): Likewise.
+	(CFLAGS-gets_chk.c): Likewise.
+	(CFLAGS-fgets_chk.c): Likewise.
+	(CFLAGS-fgets_u_chk.c): Likewise.
+	(CFLAGS-fread_chk.c): Likewise.
+	(CFLAGS-fread_u_chk.c): Likewise.
+	(CFLAGS-wprintf_chk.c): Likewise.
+	(CFLAGS-fwprintf_chk.c): Likewise.
+	(CFLAGS-vwprintf_chk.c): Likewise.
+	(CFLAGS-vfwprintf_chk.c): Likewise.
+	(CFLAGS-fgetws_chk.c): Likewise.
+	(CFLAGS-fgetws_u_chk.c): Likewise.
+	* libio/Makefile (CFLAGS-fileops.c): Likewise.
+	(CFLAGS-fputc.c): Likewise.
+	(CFLAGS-fputwc.c): Likewise.
+	(CFLAGS-freopen64.c): Likewise.
+	(CFLAGS-freopen.c): Likewise.
+	(CFLAGS-fseek.c): Likewise.
+	(CFLAGS-fseeko64.c): Likewise.
+	(CFLAGS-fseeko.c): Likewise.
+	(CFLAGS-ftello64.c): Likewise.
+	(CFLAGS-ftello.c): Likewise.
+	(CFLAGS-fwide.c): Likewise.
+	(CFLAGS-genops.c): Likewise.
+	(CFLAGS-getc.c): Likewise.
+	(CFLAGS-getchar.c): Likewise.
+	(CFLAGS-getwc.c): Likewise.
+	(CFLAGS-getwchar.c): Likewise.
+	(CFLAGS-iofclose.c): Likewise.
+	(CFLAGS-iofflush.c): Likewise.
+	(CFLAGS-iofgetpos64.c): Likewise.
+	(CFLAGS-iofgetpos.c): Likewise.
+	(CFLAGS-iofgets.c): Likewise.
+	(CFLAGS-iofgetws.c): Likewise.
+	(CFLAGS-iofputs.c): Likewise.
+	(CFLAGS-iofputws.c): Likewise.
+	(CFLAGS-iofread.c): Likewise.
+	(CFLAGS-iofsetpos64.c): Likewise.
+	(CFLAGS-iofsetpos.c): Likewise.
+	(CFLAGS-ioftell.c): Likewise.
+	(CFLAGS-iofwrite.c): Likewise.
+	(CFLAGS-iogetdelim.c): Likewise.
+	(CFLAGS-iogetline.c): Likewise.
+	(CFLAGS-iogets.c): Likewise.
+	(CFLAGS-iogetwline.c): Likewise.
+	(CFLAGS-ioputs.c): Likewise.
+	(CFLAGS-ioseekoff.c): Likewise.
+	(CFLAGS-ioseekpos.c): Likewise.
+	(CFLAGS-iosetbuffer.c): Likewise.
+	(CFLAGS-iosetvbuf.c): Likewise.
+	(CFLAGS-ioungetc.c): Likewise.
+	(CFLAGS-ioungetwc.c): Likewise.
+	(CFLAGS-oldfileops.c): Likewise.
+	(CFLAGS-oldiofclose.c): Likewise.
+	(CFLAGS-oldiofgetpos64.c): Likewise.
+	(CFLAGS-oldiofgetpos.c): Likewise.
+	(CFLAGS-oldiofsetpos64.c): Likewise.
+	(CFLAGS-oldiofsetpos.c): Likewise.
+	(CFLAGS-peekc.c): Likewise.
+	(CFLAGS-putc.c): Likewise.
+	(CFLAGS-putchar.c): Likewise.
+	(CFLAGS-putwc.c): Likewise.
+	(CFLAGS-putwchar.c): Likewise.
+	(CFLAGS-rewind.c): Likewise.
+	(CFLAGS-wfileops.c): Likewise.
+	(CFLAGS-wgenops.c): Likewise.
+	(CFLAGS-oldiofopen.c): Likewise.
+	(CFLAGS-iofopen.c): Likewise.
+	(CFLAGS-iofopen64.c): Likewise.
+	(CFLAGS-oldtmpfile.c): Likewise.
+	* stdio-common/Makefile (CFLAGS-vfprintf.c): Likewise.
+	(CFLAGS-fprintf.c): Likewise.
+	(CFLAGS-printf.c): Likewise.
+	(CFLAGS-vfwprintf.c): Likewise.
+	(CFLAGS-vfscanf.c): Likewise.
+	(CFLAGS-vfwscanf.c): Likewise.
+	(CFLAGS-fscanf.c): Likewise.
+	(CFLAGS-scanf.c): Likewise.
+	(CFLAGS-isoc99_vfscanf.c): Likewise.
+	(CFLAGS-isoc99_vscanf.c): Likewise.
+	(CFLAGS-isoc99_fscanf.c): Likewise.
+	(CFLAGS-isoc99_scanf.c): Likewise.
+	* wcsmbs/Makefile (CFLAGS-isoc99_wscanf.c): Likewise.
+	(CFLAGS-isoc99_fwscanf.c): Likewise.
+	(CFLAGS-isoc99_vwscanf.c): Likewise.
+	(CFLAGS-isoc99_vfwscanf.c): Likewise.
+
 	* io/test-lfs.c (do_prepare): Do not call add_temp_file until
 	after mkstemp64.
 	* login/tst-utmp.c (do_prepare): Likewise.
diff --git a/Makeconfig b/Makeconfig
index bbe83ec16a..a03db7fff1 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -50,7 +50,7 @@ export sysdep_dir := $(sysdep_dir)
 include $(common-objpfx)config.make
 
 # What flags to give to sources which call user provided callbacks
-uses-callbacks = $(exceptions)
+uses-callbacks = -fexceptions
 
 # What flags to give to tests which test stack alignment
 stack-align-test-flags =
diff --git a/config.make.in b/config.make.in
index 644955928d..a7d466242f 100644
--- a/config.make.in
+++ b/config.make.in
@@ -70,7 +70,6 @@ use-default-link = @use_default_link@
 output-format = @libc_cv_output_format@
 have-cxx-thread_local = @libc_cv_cxx_thread_local@
 
-exceptions = @exceptions@
 multi-arch = @multi_arch@
 
 mach-interface-list = @mach_interface_list@
diff --git a/configure b/configure
index de49ba6ebe..81d003c26c 100755
--- a/configure
+++ b/configure
@@ -624,7 +624,6 @@ LIBGD
 libc_cv_cc_loop_to_function
 libc_cv_cc_submachine
 libc_cv_cc_nofma
-exceptions
 gnu89_inline
 libc_cv_ssp
 fno_unit_at_a_time
@@ -6471,36 +6470,6 @@ if test $libc_cv_ld_no_whole_archive = no; then
   as_fn_error $? "support for --no-whole-archive is needed" "$LINENO" 5
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc -fexceptions" >&5
-$as_echo_n "checking for gcc -fexceptions... " >&6; }
-if ${libc_cv_gcc_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.c <<\EOF
-_start () {}
-int __eh_pc;
-__throw () {}
-EOF
-if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-			    -nostdlib -nostartfiles -fexceptions
-			    -o conftest conftest.c 1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-  libc_cv_gcc_exceptions=yes
-else
-  libc_cv_gcc_exceptions=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_exceptions" >&5
-$as_echo "$libc_cv_gcc_exceptions" >&6; }
-if test $libc_cv_gcc_exceptions = yes; then
-  exceptions=-fexceptions
-fi
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5
 $as_echo_n "checking for __builtin_memset... " >&6; }
 if ${libc_cv_gcc_builtin_memset+:} false; then :
diff --git a/configure.ac b/configure.ac
index 384bf3f152..d74bef4330 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1629,26 +1629,6 @@ if test $libc_cv_ld_no_whole_archive = no; then
   AC_MSG_ERROR([support for --no-whole-archive is needed])
 fi
 
-AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
-cat > conftest.c <<\EOF
-_start () {}
-int __eh_pc;
-__throw () {}
-EOF
-dnl No \ in command here because it ends up inside ''.
-if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-			    -nostdlib -nostartfiles -fexceptions
-			    -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
-  libc_cv_gcc_exceptions=yes
-else
-  libc_cv_gcc_exceptions=no
-fi
-rm -f conftest*])
-if test $libc_cv_gcc_exceptions = yes; then
-  exceptions=-fexceptions
-fi
-AC_SUBST(exceptions)dnl
-
 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
 cat > conftest.c <<\EOF
 void zero (void *x)
diff --git a/debug/Makefile b/debug/Makefile
index f871ba92c0..a383417b3d 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -60,25 +60,25 @@ CFLAGS-vsnprintf_chk.c = $(libio-mtsafe)
 CFLAGS-asprintf_chk.c = $(libio-mtsafe)
 CFLAGS-vasprintf_chk.c = $(libio-mtsafe)
 CFLAGS-obprintf_chk.c = $(libio-mtsafe)
-CFLAGS-dprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-vdprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-printf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-vprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-vfprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-gets_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fgets_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fgets_u_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fread_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fread_u_chk.c = $(libio-mtsafe) $(exceptions)
+CFLAGS-dprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-vdprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-printf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-vprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-vfprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-gets_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fgets_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fgets_u_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fread_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fread_u_chk.c = $(libio-mtsafe) -fexceptions
 CFLAGS-swprintf_chk.c = $(libio-mtsafe)
 CFLAGS-vswprintf_chk.c = $(libio-mtsafe)
-CFLAGS-wprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fwprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-vwprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-vfwprintf_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fgetws_chk.c = $(libio-mtsafe) $(exceptions)
-CFLAGS-fgetws_u_chk.c = $(libio-mtsafe) $(exceptions)
+CFLAGS-wprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fwprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-vwprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-vfwprintf_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fgetws_chk.c = $(libio-mtsafe) -fexceptions
+CFLAGS-fgetws_u_chk.c = $(libio-mtsafe) -fexceptions
 CFLAGS-read_chk.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-pread_chk.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-pread64_chk.c = -fexceptions -fasynchronous-unwind-tables
diff --git a/libio/Makefile b/libio/Makefile
index 273c2400ff..1f4feb8ae1 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -84,64 +84,64 @@ endif
 CPPFLAGS += $(libio-mtsafe)
 
 # Support for exception handling.
-CFLAGS-fileops.c = $(exceptions)
-CFLAGS-fputc.c = $(exceptions)
-CFLAGS-fputwc.c = $(exceptions)
-CFLAGS-freopen64.c = $(exceptions)
-CFLAGS-freopen.c = $(exceptions)
-CFLAGS-fseek.c = $(exceptions)
-CFLAGS-fseeko64.c = $(exceptions)
-CFLAGS-fseeko.c = $(exceptions)
-CFLAGS-ftello64.c = $(exceptions)
-CFLAGS-ftello.c = $(exceptions)
-CFLAGS-fwide.c = $(exceptions)
-CFLAGS-genops.c = $(exceptions)
-CFLAGS-getc.c = $(exceptions)
-CFLAGS-getchar.c = $(exceptions)
-CFLAGS-getwc.c = $(exceptions)
-CFLAGS-getwchar.c = $(exceptions)
-CFLAGS-iofclose.c = $(exceptions)
-CFLAGS-iofflush.c = $(exceptions)
-CFLAGS-iofgetpos64.c = $(exceptions)
-CFLAGS-iofgetpos.c = $(exceptions)
-CFLAGS-iofgets.c = $(exceptions)
-CFLAGS-iofgetws.c = $(exceptions)
-CFLAGS-iofputs.c = $(exceptions)
-CFLAGS-iofputws.c = $(exceptions)
-CFLAGS-iofread.c = $(exceptions)
-CFLAGS-iofsetpos64.c = $(exceptions)
-CFLAGS-iofsetpos.c = $(exceptions)
-CFLAGS-ioftell.c = $(exceptions)
-CFLAGS-iofwrite.c = $(exceptions)
-CFLAGS-iogetdelim.c = $(exceptions)
-CFLAGS-iogetline.c = $(exceptions)
-CFLAGS-iogets.c = $(exceptions)
-CFLAGS-iogetwline.c = $(exceptions)
-CFLAGS-ioputs.c = $(exceptions)
-CFLAGS-ioseekoff.c = $(exceptions)
-CFLAGS-ioseekpos.c = $(exceptions)
-CFLAGS-iosetbuffer.c = $(exceptions)
-CFLAGS-iosetvbuf.c = $(exceptions)
-CFLAGS-ioungetc.c = $(exceptions)
-CFLAGS-ioungetwc.c = $(exceptions)
-CFLAGS-oldfileops.c = $(exceptions)
-CFLAGS-oldiofclose.c = $(exceptions)
-CFLAGS-oldiofgetpos64.c = $(exceptions)
-CFLAGS-oldiofgetpos.c = $(exceptions)
-CFLAGS-oldiofsetpos64.c = $(exceptions)
-CFLAGS-oldiofsetpos.c = $(exceptions)
-CFLAGS-peekc.c = $(exceptions)
-CFLAGS-putc.c = $(exceptions)
-CFLAGS-putchar.c = $(exceptions)
-CFLAGS-putwc.c = $(exceptions)
-CFLAGS-putwchar.c = $(exceptions)
-CFLAGS-rewind.c = $(exceptions)
-CFLAGS-wfileops.c = $(exceptions)
-CFLAGS-wgenops.c = $(exceptions)
-CFLAGS-oldiofopen.c = $(exceptions)
-CFLAGS-iofopen.c = $(exceptions)
-CFLAGS-iofopen64.c = $(exceptions)
-CFLAGS-oldtmpfile.c = $(exceptions)
+CFLAGS-fileops.c = -fexceptions
+CFLAGS-fputc.c = -fexceptions
+CFLAGS-fputwc.c = -fexceptions
+CFLAGS-freopen64.c = -fexceptions
+CFLAGS-freopen.c = -fexceptions
+CFLAGS-fseek.c = -fexceptions
+CFLAGS-fseeko64.c = -fexceptions
+CFLAGS-fseeko.c = -fexceptions
+CFLAGS-ftello64.c = -fexceptions
+CFLAGS-ftello.c = -fexceptions
+CFLAGS-fwide.c = -fexceptions
+CFLAGS-genops.c = -fexceptions
+CFLAGS-getc.c = -fexceptions
+CFLAGS-getchar.c = -fexceptions
+CFLAGS-getwc.c = -fexceptions
+CFLAGS-getwchar.c = -fexceptions
+CFLAGS-iofclose.c = -fexceptions
+CFLAGS-iofflush.c = -fexceptions
+CFLAGS-iofgetpos64.c = -fexceptions
+CFLAGS-iofgetpos.c = -fexceptions
+CFLAGS-iofgets.c = -fexceptions
+CFLAGS-iofgetws.c = -fexceptions
+CFLAGS-iofputs.c = -fexceptions
+CFLAGS-iofputws.c = -fexceptions
+CFLAGS-iofread.c = -fexceptions
+CFLAGS-iofsetpos64.c = -fexceptions
+CFLAGS-iofsetpos.c = -fexceptions
+CFLAGS-ioftell.c = -fexceptions
+CFLAGS-iofwrite.c = -fexceptions
+CFLAGS-iogetdelim.c = -fexceptions
+CFLAGS-iogetline.c = -fexceptions
+CFLAGS-iogets.c = -fexceptions
+CFLAGS-iogetwline.c = -fexceptions
+CFLAGS-ioputs.c = -fexceptions
+CFLAGS-ioseekoff.c = -fexceptions
+CFLAGS-ioseekpos.c = -fexceptions
+CFLAGS-iosetbuffer.c = -fexceptions
+CFLAGS-iosetvbuf.c = -fexceptions
+CFLAGS-ioungetc.c = -fexceptions
+CFLAGS-ioungetwc.c = -fexceptions
+CFLAGS-oldfileops.c = -fexceptions
+CFLAGS-oldiofclose.c = -fexceptions
+CFLAGS-oldiofgetpos64.c = -fexceptions
+CFLAGS-oldiofgetpos.c = -fexceptions
+CFLAGS-oldiofsetpos64.c = -fexceptions
+CFLAGS-oldiofsetpos.c = -fexceptions
+CFLAGS-peekc.c = -fexceptions
+CFLAGS-putc.c = -fexceptions
+CFLAGS-putchar.c = -fexceptions
+CFLAGS-putwc.c = -fexceptions
+CFLAGS-putwchar.c = -fexceptions
+CFLAGS-rewind.c = -fexceptions
+CFLAGS-wfileops.c = -fexceptions
+CFLAGS-wgenops.c = -fexceptions
+CFLAGS-oldiofopen.c = -fexceptions
+CFLAGS-iofopen.c = -fexceptions
+CFLAGS-iofopen64.c = -fexceptions
+CFLAGS-oldtmpfile.c = -fexceptions
 # XXX Do we need filedoalloc and wfiledoalloc?  Others?
 
 CFLAGS-tst_putwc.c = -DOBJPFX=\"$(objpfx)\"
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index d92d9d16de..4a70060b97 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -114,18 +114,18 @@ CFLAGS-psignal.c = -fexceptions
 CFLAGS-vprintf.c = -fexceptions
 CFLAGS-cuserid.c = -fexceptions
 
-CFLAGS-vfprintf.c += $(exceptions)
-CFLAGS-fprintf.c += $(exceptions)
-CFLAGS-printf.c += $(exceptions)
-CFLAGS-vfwprintf.c += $(exceptions)
-CFLAGS-vfscanf.c += $(exceptions)
-CFLAGS-vfwscanf.c += $(exceptions)
-CFLAGS-fscanf.c += $(exceptions)
-CFLAGS-scanf.c += $(exceptions)
-CFLAGS-isoc99_vfscanf.c += $(exceptions)
-CFLAGS-isoc99_vscanf.c += $(exceptions)
-CFLAGS-isoc99_fscanf.c += $(exceptions)
-CFLAGS-isoc99_scanf.c += $(exceptions)
+CFLAGS-vfprintf.c += -fexceptions
+CFLAGS-fprintf.c += -fexceptions
+CFLAGS-printf.c += -fexceptions
+CFLAGS-vfwprintf.c += -fexceptions
+CFLAGS-vfscanf.c += -fexceptions
+CFLAGS-vfwscanf.c += -fexceptions
+CFLAGS-fscanf.c += -fexceptions
+CFLAGS-scanf.c += -fexceptions
+CFLAGS-isoc99_vfscanf.c += -fexceptions
+CFLAGS-isoc99_vscanf.c += -fexceptions
+CFLAGS-isoc99_fscanf.c += -fexceptions
+CFLAGS-isoc99_scanf.c += -fexceptions
 CFLAGS-errlist.c = $(fno-unit-at-a-time)
 CFLAGS-siglist.c = $(fno-unit-at-a-time)
 
diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure
index 158116b5a7..87ec430da1 100644
--- a/sysdeps/arm/configure
+++ b/sysdeps/arm/configure
@@ -313,6 +313,3 @@ libc_cv_gcc_unwind_find_fde=no
 
 # Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
 CFLAGS=${CFLAGS% -fno-unwind-tables}
-
-libc_cv_gcc_exceptions=yes
-exceptions=-fexceptions
diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac
index 859c92a002..a9b114e3b9 100644
--- a/sysdeps/arm/configure.ac
+++ b/sysdeps/arm/configure.ac
@@ -123,9 +123,3 @@ libc_cv_gcc_unwind_find_fde=no
 
 # Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
 CFLAGS=${CFLAGS% -fno-unwind-tables}
-
-dnl The normal configure check for gcc -fexecptions fails because it can't
-dnl find __aeabi_unwind_cpp_pr0.  Work around this here; our GCC definitely
-dnl has -fexceptions.
-libc_cv_gcc_exceptions=yes
-exceptions=-fexceptions
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index a59a005a96..f333fa873e 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -84,10 +84,10 @@ CFLAGS-wcstold_l.c = $(strtox-CFLAGS)
 CFLAGS-wcstof_l.c = $(strtox-CFLAGS)
 CPPFLAGS-tst-wchar-h.c = -D_FORTIFY_SOURCE=2
 
-CFLAGS-isoc99_wscanf.c += $(exceptions)
-CFLAGS-isoc99_fwscanf.c += $(exceptions)
-CFLAGS-isoc99_vwscanf.c += $(exceptions)
-CFLAGS-isoc99_vfwscanf.c += $(exceptions)
+CFLAGS-isoc99_wscanf.c += -fexceptions
+CFLAGS-isoc99_fwscanf.c += -fexceptions
+CFLAGS-isoc99_vwscanf.c += -fexceptions
+CFLAGS-isoc99_vfwscanf.c += -fexceptions
 
 CPPFLAGS += $(libio-mtsafe)