From ab22e5ec37396f6c6f29d3e3306f6fcc2ebe9d49 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 20 Oct 2025 09:27:50 -0300 Subject: [PATCH] gmon: Only used -fno-tree-loop-distribute-patterns if compiler supports it Reviewed-by: Collin Funk --- configure | 11 ++++++++--- configure.ac | 1 + gmon/Makefile | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 789f68da75..f44dfcb03c 100755 --- a/configure +++ b/configure @@ -7515,7 +7515,8 @@ $conftest_code EOF saved_CC="$CC" -CC="$TEST_CC" +saved_CFLAGS="$CFLAGS" +CC="$TEST_CC -Wno-unused-command-line-argument" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for traditional tls support in testing" >&5 printf %s "checking for traditional tls support in testing... " >&6; } if test ${libc_cv_test_mtls_traditional+y} @@ -7989,6 +7990,8 @@ if test $libc_cv_test_cc_loop_to_function = yes; then fi +config_vars="$config_vars +config-cflags-cc-loop-to-function = $libc_cv_cc_loop_to_function" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wimplicit-fallthrough" >&5 @@ -8081,7 +8084,8 @@ if test "$TEST_CC" = "$CC"; then else saved_CC="$CC" -CC="$TEST_CC" +saved_CFLAGS="$CFLAGS" +CC="$TEST_CC -Wno-unused-command-line-argument" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wfree-labels in testing" >&5 printf %s "checking for -Wfree-labels in testing... " >&6; } if test ${libc_cv_test_cc_wfree_labels+y} @@ -8141,7 +8145,8 @@ if test "$TEST_CC" = "$CC"; then else saved_CC="$CC" -CC="$TEST_CC" +saved_CFLAGS="$CFLAGS" +CC="$TEST_CC -Wno-unused-command-line-argument" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wmissing-parameter-name in testing" >&5 printf %s "checking for -Wmissing-parameter-name in testing... " >&6; } if test ${libc_cv_test_cc_wmissing_parameter_name+y} diff --git a/configure.ac b/configure.ac index aa4641edae..2cb49f49bc 100644 --- a/configure.ac +++ b/configure.ac @@ -1590,6 +1590,7 @@ if test $libc_cv_test_cc_loop_to_function = yes; then AC_DEFINE(HAVE_TEST_CC_INHIBIT_LOOP_TO_LIBCALL) fi AC_SUBST(libc_cv_cc_loop_to_function) +LIBC_CONFIG_VAR(config-cflags-cc-loop-to-function,$libc_cv_cc_loop_to_function) LIBC_TRY_CC_AND_TEST_CC_OPTION([for -Wimplicit-fallthrough], [-Werror -Wimplicit-fallthrough], diff --git a/gmon/Makefile b/gmon/Makefile index b42c14aa83..c7534bff67 100644 --- a/gmon/Makefile +++ b/gmon/Makefile @@ -64,7 +64,10 @@ endif # The mcount code won't work without a frame pointer nor when memcpy or # memset are called. -CFLAGS-mcount.c := -fno-omit-frame-pointer -fno-tree-loop-distribute-patterns +CFLAGS-mcount.c := -fno-omit-frame-pointer +ifeq (yes,$(config-cflags-cc-loop-to-function)) +CFLAGS-mcount.c += -fno-tree-loop-distribute-patterns +endif CFLAGS-tst-gmon.c := -fno-omit-frame-pointer -pg tst-gmon-no-pie = yes -- 2.47.3