From 2f9aef42af94f6d68f37f6e9b8cb878e88ed12bf Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Mon, 12 Feb 2024 23:12:26 +0100 Subject: [PATCH] patch 9.1.0104: Linking fails with -lto because of PERL_CFLAGS Problem: Linking fails with -lto because of PERL_CFLAGS (Zoltan Toth) Solution: Filter out -flto argument from Perl CFLAGS. fixes: #14012 Signed-off-by: Christian Brabandt --- src/auto/configure | 6 +++++- src/configure.ac | 4 +++- src/version.c | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/auto/configure b/src/auto/configure index 70ebb33c4d..5c14648353 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -6494,10 +6494,11 @@ printf "%s\n" "$vi_cv_perl_xsubpp" >&6; } fi - perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ + perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//' \ -e 's/-fdebug-prefix-map[^ ]*//g' \ -e 's/-pipe //' \ + -e 's/-flto\(=auto\)\? //' \ -e 's/-W[^ ]*//g' \ -e 's/-D_FORTIFY_SOURCE=.//g'` perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \ @@ -10402,9 +10403,12 @@ system ("touch conf.gtktest"); tmp_version = g_strdup("$min_gtk_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_gtk_version"); + g_free(tmp_version); exit(1); } +g_free(tmp_version); + if ((gtk_major_version > major) || ((gtk_major_version == major) && (gtk_minor_version > minor)) || ((gtk_major_version == major) && (gtk_minor_version == minor) && diff --git a/src/configure.ac b/src/configure.ac index ebe0d08f6e..664f219405 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -1163,11 +1163,13 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then dnl Remove "-fno-something", it breaks using cproto. dnl Remove "-fdebug-prefix-map", it isn't supported by clang. dnl Remove "FORTIFY_SOURCE", it will be defined twice. - dnl remove -pipe and -Wxxx, it confuses cproto + dnl Remove -pipe and -Wxxx, it confuses cproto + dnl Remove -flto[=auto], it causes link failures for clang perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//' \ -e 's/-fdebug-prefix-map[[^ ]]*//g' \ -e 's/-pipe //' \ + -e 's/-flto\(=auto\)\? //' \ -e 's/-W[[^ ]]*//g' \ -e 's/-D_FORTIFY_SOURCE=.//g'` dnl Remove "-lc", it breaks on FreeBSD when using "-pthread". diff --git a/src/version.c b/src/version.c index e28a326950..17a789948a 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 104, /**/ 103, /**/