]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: libgcc: Honor disable-werror [PR117600]
authorChristophe Lyon <christophe.lyon@linaro.org>
Fri, 8 Aug 2025 12:55:07 +0000 (12:55 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Fri, 8 Aug 2025 14:46:57 +0000 (14:46 +0000)
In commit r15-4417-g71c7b446b98aa5, I made -werror mandatory when
building libgcc for aarch64.

While it achieved its goal (make us fix problems unnoticed so far),
there has a been a lot of debate because it couldn't be disabled
easily.

This patch adds support for --enable-werror/--disable-werror in
libgcc, defaulting to --enable-werror for aarch64.

Tested on non-bootstrap builds on aarch64-linux-gnu (with
-Wno-prio-ctor-dtor removed in order to get an error).

libgcc/ChangeLog:

PR libgcc/117600
* Makefile.in (WERROR): New.
* config/aarch64/t-aarch64: Handle WERROR.
* configure: Regenerate.
* configure.ac: Add support for --enable-werror.

libgcc/Makefile.in
libgcc/config/aarch64/t-aarch64
libgcc/configure
libgcc/configure.ac

index f7b48dceb0647f60bf1ab5a9d639ac6beeda0d53..e258f943dddde236c9a1a98754b6a2e8da4d899a 100644 (file)
@@ -87,6 +87,7 @@ CC = @CC@
 CFLAGS = @CFLAGS@
 RANLIB = @RANLIB@
 LN_S = @LN_S@
+WERROR = @WERROR@
 
 PWD_COMMAND = $${PWDCMD-pwd}
 
index d4c59227386cca8b41af280c729d7ee30de3bc5b..c7d83c718435ab2bbf92c4a8970cb5377dbf1cc0 100644 (file)
@@ -30,4 +30,4 @@ LIB2ADDEH += \
        $(srcdir)/config/aarch64/__arm_za_disable.S
 
 SHLIB_MAPFILES += $(srcdir)/config/aarch64/libgcc-sme.ver
-LIBGCC2_CFLAGS += -Werror -Wno-prio-ctor-dtor
+LIBGCC2_CFLAGS += $(WERROR) -Wno-prio-ctor-dtor
index 18418336c9b5b3ccfa6c8e86ae1158449ee500ad..d5e80d227ff69ff2aa4c4ea7e554df44069c363b 100755 (executable)
@@ -586,6 +586,7 @@ ac_unique_file="static-object.mk"
 ac_includes_default='/* none */'
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+WERROR
 md_unwind_header
 md_unwind_def_header
 unwind_header
@@ -720,6 +721,7 @@ enable_tm_clone_registry
 with_glibc_version
 enable_tls
 with_gcc_major_version_only
+enable_werror
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1362,6 +1364,7 @@ Optional Features:
                           installations without PT_GNU_EH_FRAME support
   --disable-tm-clone-registry    disable TM clone registry
   --enable-tls            Use thread-local storage [default=yes]
+  --enable-werror         build with -Werror for selected targets
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -5789,6 +5792,22 @@ fi
 
 
 
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+  enableval=$enable_werror;
+case ${enable_werror} in
+  no) WERROR="" ;;
+  *) WERROR="-Werror" ;;
+esac
+
+else
+
+WERROR="-Werror"
+
+fi
+
+
+
 # We need multilib support.
 ac_config_files="$ac_config_files Makefile"
 
index 85e4f1bc48b09e081d439ada510195b75397de4b..65cd3c6aa1a5de8956e30ce626e7b672659cf230 100644 (file)
@@ -733,6 +733,20 @@ AC_SUBST(md_unwind_header)
 AC_SUBST(sfp_machine_header)
 AC_SUBST(thread_header)
 
+AC_ARG_ENABLE(werror,
+[AS_HELP_STRING([--enable-werror],
+               [build with -Werror for selected targets])],
+[
+case ${enable_werror} in
+  no) WERROR="" ;;
+  *) WERROR="-Werror" ;;
+esac
+],
+[
+WERROR="-Werror"
+])
+AC_SUBST(WERROR)
+
 # We need multilib support.
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_COMMANDS([default],