aarch64: libgcc: Honor disable-werror [PR117600]

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.
This commit is contained in:
Christophe Lyon
2025-08-08 12:55:07 +00:00
parent ed520bfcf4
commit fdc560aaae
4 changed files with 35 additions and 1 deletions

View File

@@ -87,6 +87,7 @@ CC = @CC@
CFLAGS = @CFLAGS@
RANLIB = @RANLIB@
LN_S = @LN_S@
WERROR = @WERROR@
PWD_COMMAND = $${PWDCMD-pwd}

View 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

19
libgcc/configure vendored
View File

@@ -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"

View 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],