On Mon, Jul 4, 2022 at 2:28 PM Richard Biener
<richard.guent...@gmail.com> wrote:
>
> On Mon, Jul 4, 2022 at 1:32 PM Martin Liška <mli...@suse.cz> wrote:
> >
> > Similarly to libgo, we need to provide -L for targets where
> > libpthread does depends on libatomic.
> >
> > Ready for master?
>
> OK

... but ... is libatomic properly built for the host?  libgo is a
target library.
>
> >         PR bootstrap/106156
> >
> > lto-plugin/ChangeLog:
> >
> >         * Makefile.am: Use PTHREAD_CFLAGS.
> >         * Makefile.in: Regenerate.
> >         * configure.ac: Detect if PTHREAD_CFLAGS should contain path
> >         to libatomic.
> >         * configure: Regenerate.
> > ---
> >  lto-plugin/Makefile.am  |  2 +-
> >  lto-plugin/Makefile.in  |  3 ++-
> >  lto-plugin/configure    | 34 ++++++++++++++++++++++++++++++++--
> >  lto-plugin/configure.ac | 17 +++++++++++++++++
> >  4 files changed, 52 insertions(+), 4 deletions(-)
> >
> > diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am
> > index 81362eafc36..64a6bc8c943 100644
> > --- a/lto-plugin/Makefile.am
> > +++ b/lto-plugin/Makefile.am
> > @@ -10,7 +10,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)
> >  # The plug-in depends on pthreads.
> > -AM_LDFLAGS = -pthread @ac_lto_plugin_ldflags@
> > +AM_LDFLAGS = $(PTHREAD_CFLAGS) @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))
> > diff --git a/lto-plugin/Makefile.in b/lto-plugin/Makefile.in
> > index 2033dd9b7c2..de19c8873de 100644
> > --- a/lto-plugin/Makefile.in
> > +++ b/lto-plugin/Makefile.in
> > @@ -264,6 +264,7 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
> >  PACKAGE_URL = @PACKAGE_URL@
> >  PACKAGE_VERSION = @PACKAGE_VERSION@
> >  PATH_SEPARATOR = @PATH_SEPARATOR@
> > +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
> >  RANLIB = @RANLIB@
> >  SED = @SED@
> >  SET_MAKE = @SET_MAKE@
> > @@ -345,7 +346,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)
> >  # The plug-in depends on pthreads.
> > -AM_LDFLAGS = -pthread @ac_lto_plugin_ldflags@
> > +AM_LDFLAGS = $(PTHREAD_CFLAGS) @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 aaa91a63623..aa35bd94b3f 100755
> > --- a/lto-plugin/configure
> > +++ b/lto-plugin/configure
> > @@ -650,6 +650,7 @@ LD
> >  FGREP
> >  SED
> >  LIBTOOL
> > +PTHREAD_CFLAGS
> >  LTO_PLUGIN_USE_SYMVER_SUN_FALSE
> >  LTO_PLUGIN_USE_SYMVER_SUN_TRUE
> >  LTO_PLUGIN_USE_SYMVER_GNU_FALSE
> > @@ -6020,6 +6021,35 @@ fi
> >
> >
> >
> > +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -pthread is 
> > supported" >&5
> > +$as_echo_n "checking whether -pthread is supported... " >&6; }
> > +if ${lto_plugin_cv_lib_pthread+:} false; then :
> > +  $as_echo_n "(cached) " >&6
> > +else
> > +  CFLAGS_hold=$CFLAGS
> > +CFLAGS="$CFLAGS -pthread -L../$build/libatomic/.libs"
> > +cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> > +/* end confdefs.h.  */
> > +int i;
> > +_ACEOF
> > +if ac_fn_c_try_compile "$LINENO"; then :
> > +  lto_plugin_cv_lib_pthread=yes
> > +else
> > +  lto_plugin_cv_lib_pthread=no
> > +fi
> > +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
> > +CFLAGS=$CFLAGS_hold
> > +fi
> > +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
> > $lto_plugin_cv_lib_pthread" >&5
> > +$as_echo "$lto_plugin_cv_lib_pthread" >&6; }
> > +PTHREAD_CFLAGS=
> > +if test "$libgo_cv_lib_pthread" = yes; then
> > +  # RISC-V apparently adds -latomic when using -pthread.
> > +  PTHREAD_CFLAGS="-pthread -L../$build/libatomic/.libs"
> > +fi
> > +
> > +
> > +
> >  case `pwd` in
> >    *\ * | *\    *)
> >      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not 
> > cope well with whitespace in \`pwd\`" >&5
> > @@ -12091,7 +12121,7 @@ else
> >    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
> >    lt_status=$lt_dlunknown
> >    cat > conftest.$ac_ext <<_LT_EOF
> > -#line 12094 "configure"
> > +#line 12124 "configure"
> >  #include "confdefs.h"
> >
> >  #if HAVE_DLFCN_H
> > @@ -12197,7 +12227,7 @@ else
> >    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
> >    lt_status=$lt_dlunknown
> >    cat > conftest.$ac_ext <<_LT_EOF
> > -#line 12200 "configure"
> > +#line 12230 "configure"
> >  #include "confdefs.h"
> >
> >  #if HAVE_DLFCN_H
> > diff --git a/lto-plugin/configure.ac b/lto-plugin/configure.ac
> > index c2ec512880f..ba34a5d0ca1 100644
> > --- a/lto-plugin/configure.ac
> > +++ b/lto-plugin/configure.ac
> > @@ -91,6 +91,23 @@ AM_CONDITIONAL(LTO_PLUGIN_USE_SYMVER_SUN, [test 
> > "x$lto_plugin_use_symver" = xsun
> >  AC_CHECK_HEADER(pthread.h,
> >    [AC_DEFINE(HAVE_PTHREAD_H, 1, [Define to 1 if pthread.h is present.])])
> >
> > +dnl Test whether the compiler supports the -pthread option.
> > +AC_CACHE_CHECK([whether -pthread is supported],
> > +[lto_plugin_cv_lib_pthread],
> > +[CFLAGS_hold=$CFLAGS
> > +CFLAGS="$CFLAGS -pthread -L../$build/libatomic/.libs"
> > +AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
> > +[lto_plugin_cv_lib_pthread=yes],
> > +[lto_plugin_cv_lib_pthread=no])
> > +CFLAGS=$CFLAGS_hold])
> > +PTHREAD_CFLAGS=
> > +if test "$libgo_cv_lib_pthread" = yes; then
> > +  # RISC-V apparently adds -latomic when using -pthread.
> > +  PTHREAD_CFLAGS="-pthread -L../$build/libatomic/.libs"
> > +fi
> > +AC_SUBST(PTHREAD_CFLAGS)
> > +
> > +
> >  AM_PROG_LIBTOOL
> >  ACX_LT_HOST_FLAGS
> >  AC_SUBST(target_noncanonical)
> > --
> > 2.36.1
> >

Reply via email to