public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/marxin/heads/PR106156-fix-riscv64-lto-plugin-v3)] lto-plugin: use -pthread only for detected targets
@ 2022-07-14  7:52 Martin Liska
  0 siblings, 0 replies; only message in thread
From: Martin Liska @ 2022-07-14  7:52 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:bf0e9635086b5b3f88a40bab9839b2c438eed831

commit bf0e9635086b5b3f88a40bab9839b2c438eed831
Author: Martin Liska <mliska@suse.cz>
Date:   Thu Jul 14 09:51:33 2022 +0200

    lto-plugin: use -pthread only for detected targets
    
    Use -pthread only if we are going to use pthread functionality.
    
            PR bootstrap/106156
    
    lto-plugin/ChangeLog:
    
            * Makefile.am: Append -pthread to LDFLAGS if
            LTO_PLUGIN_USE_PTHREAD.
            * configure.ac: Use AM_CONDITIONAL for LTO_PLUGIN_USE_PTHREAD.
            * Makefile.in: Regenerate.
            * configure: Regenerate.

Diff:
---
 lto-plugin/Makefile.am  |  7 +++++--
 lto-plugin/Makefile.in  |  5 +++--
 lto-plugin/configure    | 19 +++++++++++++++++--
 lto-plugin/configure.ac |  2 ++
 4 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am
index 482946e4dd5..ce51e8e173e 100644
--- a/lto-plugin/Makefile.am
+++ b/lto-plugin/Makefile.am
@@ -9,12 +9,15 @@ 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
 override CFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(CFLAGS))
 override LDFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(LDFLAGS))
 
+if LTO_PLUGIN_USE_PTHREAD
+override LDFLAGS := $(LDFLAGS) -pthread
+endif
+
 libexecsub_LTLIBRARIES = liblto_plugin.la
 gcc_build_dir = @gcc_build_dir@
 in_gcc_libs = $(foreach lib, $(libexecsub_LTLIBRARIES), $(gcc_build_dir)/$(lib))
diff --git a/lto-plugin/Makefile.in b/lto-plugin/Makefile.in
index 9453bc7d607..c323b6a51de 100644
--- a/lto-plugin/Makefile.in
+++ b/lto-plugin/Makefile.in
@@ -344,8 +344,7 @@ gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
 libexecsubdir := $(libexecdir)/gcc/$(real_target_noncanonical)/$(gcc_version)$(accel_dir_suffix)
 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))
@@ -685,6 +684,8 @@ uninstall-am: uninstall-libexecsubLTLIBRARIES
 override CFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(CFLAGS))
 override LDFLAGS := $(filter-out -fsanitize=address -fsanitize=hwaddress,$(LDFLAGS))
 
+@LTO_PLUGIN_USE_PTHREAD_TRUE@override LDFLAGS := $(LDFLAGS) -pthread
+
 all-local: $(in_gcc_libs)
 
 $(in_gcc_libs) : $(gcc_build_dir)/%: %
diff --git a/lto-plugin/configure b/lto-plugin/configure
index 870e49b2e62..bf7c4d064ee 100755
--- a/lto-plugin/configure
+++ b/lto-plugin/configure
@@ -650,6 +650,8 @@ LD
 FGREP
 SED
 LIBTOOL
+LTO_PLUGIN_USE_PTHREAD_FALSE
+LTO_PLUGIN_USE_PTHREAD_TRUE
 LTO_PLUGIN_USE_SYMVER_SUN_FALSE
 LTO_PLUGIN_USE_SYMVER_SUN_TRUE
 LTO_PLUGIN_USE_SYMVER_GNU_FALSE
@@ -6033,6 +6035,15 @@ fi
 
 fi
 
+ if test "x$use_locking" = xyes; then
+  LTO_PLUGIN_USE_PTHREAD_TRUE=
+  LTO_PLUGIN_USE_PTHREAD_FALSE='#'
+else
+  LTO_PLUGIN_USE_PTHREAD_TRUE='#'
+  LTO_PLUGIN_USE_PTHREAD_FALSE=
+fi
+
+
 case `pwd` in
   *\ * | *\	*)
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
@@ -12104,7 +12115,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 12118 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12210,7 +12221,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 12224 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12693,6 +12704,10 @@ if test -z "${LTO_PLUGIN_USE_SYMVER_SUN_TRUE}" && test -z "${LTO_PLUGIN_USE_SYMV
   as_fn_error $? "conditional \"LTO_PLUGIN_USE_SYMVER_SUN\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${LTO_PLUGIN_USE_PTHREAD_TRUE}" && test -z "${LTO_PLUGIN_USE_PTHREAD_FALSE}"; then
+  as_fn_error $? "conditional \"LTO_PLUGIN_USE_PTHREAD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 
 : "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
diff --git a/lto-plugin/configure.ac b/lto-plugin/configure.ac
index 18eb4f60b0a..6ff5071c423 100644
--- a/lto-plugin/configure.ac
+++ b/lto-plugin/configure.ac
@@ -104,6 +104,8 @@ if test x$use_locking = xyes; then
     [AC_DEFINE(HAVE_PTHREAD_LOCKING, 1, [Define if the system provides pthread locking mechanism.])])
 fi
 
+AM_CONDITIONAL(LTO_PLUGIN_USE_PTHREAD, [test "x$use_locking" = xyes])
+
 AM_PROG_LIBTOOL
 ACX_LT_HOST_FLAGS
 AC_SUBST(target_noncanonical)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-07-14  7:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-14  7:52 [gcc(refs/users/marxin/heads/PR106156-fix-riscv64-lto-plugin-v3)] lto-plugin: use -pthread only for detected targets Martin Liska

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).