[PATCH] lto-plugin: use -pthread only for detected targets

Richard Biener richard.guenther@gmail.com
Wed Jul 13 12:15:41 GMT 2022


On Wed, Jul 13, 2022 at 10:24 AM Martin Liška <mliska@suse.cz> wrote:
>
> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>
> Ready to be installed?

Didn't we have it that way and not work?  IIRC LDFLAGS is only
used during configure link tests and _not_ substituted?

> Thanks,
> Martin
>
> Use -pthread only if we are going to use pthread functionality.
>
>         PR bootstrap/106156
>
> lto-plugin/ChangeLog:
>
>         * configure: Regenerate.
>         * configure.ac: Use -pthread only why use_locking == true.
>         * Makefile.in: Rely on ac_lto_plugin_ldflags.
> ---
>  lto-plugin/Makefile.in  | 2 +-
>  lto-plugin/configure    | 6 ++++--
>  lto-plugin/configure.ac | 2 ++
>  3 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/lto-plugin/Makefile.in b/lto-plugin/Makefile.in
> index 9453bc7d607..6b161c01683 100644
> --- a/lto-plugin/Makefile.in
> +++ b/lto-plugin/Makefile.in
> @@ -345,7 +345,7 @@ libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(a
>  AM_CPPFLAGS = -I$(top_srcdir)/../include $(DEFS)
>  AM_CFLAGS = @ac_lto_plugin_warn_cflags@ $(CET_HOST_FLAGS) -DBASE_VERSION='"$(gcc_version)"'
>  # The plug-in depends on pthreads.
> -AM_LDFLAGS = -pthread @ac_lto_plugin_ldflags@
> +AM_LDFLAGS = @ac_lto_plugin_ldflags@
>  AM_LIBTOOLFLAGS = --tag=disable-static
>  libexecsub_LTLIBRARIES = liblto_plugin.la
>  in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib))
> diff --git a/lto-plugin/configure b/lto-plugin/configure
> index 870e49b2e62..0967ba1c798 100755
> --- a/lto-plugin/configure
> +++ b/lto-plugin/configure
> @@ -6023,6 +6023,8 @@ case $target in
>  esac
>
>  if test x$use_locking = xyes; then
> +  LDFLAGS="$LDFLAGS -pthread"
> +
>    ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
>  if test "x$ac_cv_header_pthread_h" = xyes; then :
>
> @@ -12104,7 +12106,7 @@ else
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<_LT_EOF
> -#line 12107 "configure"
> +#line 12109 "configure"
>  #include "confdefs.h"
>
>  #if HAVE_DLFCN_H
> @@ -12210,7 +12212,7 @@ else
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<_LT_EOF
> -#line 12213 "configure"
> +#line 12215 "configure"
>  #include "confdefs.h"
>
>  #if HAVE_DLFCN_H
> diff --git a/lto-plugin/configure.ac b/lto-plugin/configure.ac
> index 18eb4f60b0a..a350aa56a8b 100644
> --- a/lto-plugin/configure.ac
> +++ b/lto-plugin/configure.ac
> @@ -100,6 +100,8 @@ case $target in
>  esac
>
>  if test x$use_locking = xyes; then
> +  LDFLAGS="$LDFLAGS -pthread"
> +
>    AC_CHECK_HEADER(pthread.h,
>      [AC_DEFINE(HAVE_PTHREAD_LOCKING, 1, [Define if the system provides pthread locking mechanism.])])
>  fi
> --
> 2.37.0
>


More information about the Gcc-patches mailing list