]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgo: Link against libatomic.
authorAndreas Schwab <schwab@linux-m68k.org>
Tue, 18 Dec 2012 14:28:24 +0000 (14:28 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 18 Dec 2012 14:28:24 +0000 (14:28 +0000)
./:
PR go/55201
* Makefile.def (all-target-libgo): Depend on all-target-libatomic.
* Makefile.in: Regenerate.
gcc/go:
PR go/55201
* gospec.c (LIBATOMIC): Define.
(LIBATOMIC_PROFILE): Define.
(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
gcc/testsuite:
* lib/go.exp (go_link_flags): Add libatomic location to flags and
ld_library_path.

From-SVN: r194581

ChangeLog
Makefile.def
Makefile.in
gcc/go/ChangeLog
gcc/go/gospec.c
gcc/testsuite/ChangeLog
gcc/testsuite/lib/go.exp
libgo/Makefile.am
libgo/Makefile.in

index afaf41345246611cfb322a709947dba14c803f4c..c2b876652c0029ca4ea7ca2dab2c2bb1e8bf1def 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR go/55201
+       * Makefile.def (all-target-libgo): Depend on all-target-libatomic.
+       * Makefile.in: Regenerate.
+
 2012-12-16  Thomas Schwinge  <thomas@codesourcery.com>
 
        * configure.ac (ENABLE_GOLD): Consider *-*-gnu* targets ELF.
index 8d8af2332cd510f731b00eec01b98908eab0ecfc..e25799a6e461c3899de8551d83858fc88b7b96a9 100644 (file)
@@ -497,6 +497,7 @@ dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
 dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
 dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
 dependencies = { module=all-target-libgo; on=all-target-libffi; };
+dependencies = { module=all-target-libgo; on=all-target-libatomic; };
 dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
 dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
 dependencies = { module=configure-target-libjava; on=configure-target-libffi; };
index a9d2890f7f7f0bd6da17af6e59471b39d2d35427..a0281e9d3ad19cea5992a17fbce4c7ad161758b9 100644 (file)
@@ -46154,6 +46154,7 @@ configure-target-libgo: maybe-configure-target-libffi
 configure-target-libgo: maybe-all-target-libstdc++-v3
 all-target-libgo: maybe-all-target-libbacktrace
 all-target-libgo: maybe-all-target-libffi
+all-target-libgo: maybe-all-target-libatomic
 configure-target-libjava: maybe-configure-target-zlib
 configure-target-libjava: maybe-configure-target-boehm-gc
 configure-target-libjava: maybe-configure-target-libffi
index 1797763be96f70953fde3c5a0d86660834f3878b..a29a8e010b37aaf99df13d9821ca5cf2c947012e 100644 (file)
@@ -1,3 +1,10 @@
+2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR go/55201
+       * gospec.c (LIBATOMIC): Define.
+       (LIBATOMIC_PROFILE): Define.
+       (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
+
 2012-11-29  Ian Lance Taylor  <iant@google.com>
 
        * go-gcc.cc: Include "output.h".
index 20372f0f47060f57678ce690ac5eb7252422e14a..c22ad6c7c973c678b88025aec6c978d864279ff7 100644 (file)
@@ -45,6 +45,9 @@ along with GCC; see the file COPYING3.  If not see
 #define THREAD_LIBRARY "pthread"
 #define THREAD_LIBRARY_PROFILE THREAD_LIBRARY
 
+#define LIBATOMIC "atomic"
+#define LIBATOMIC_PROFILE LIBATOMIC
+
 #define LIBGO "go"
 #define LIBGO_PROFILE LIBGO
 #define LIBGOBEGIN "gobegin"
@@ -336,6 +339,11 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
       added_libraries++;
       j++;
 
+      generate_option (OPT_l, saw_profile_flag ? LIBATOMIC_PROFILE : LIBATOMIC,
+                      1, CL_DRIVER, &new_decoded_options[j]);
+      added_libraries++;
+      j++;
+
 #ifdef HAVE_LD_STATIC_DYNAMIC
       if (library > 1 && !static_link)
        {
index 5a49c619c8b404e136213ddb95ec3f9b7b3511fc..7bc7788c115e0244901b6be955ac19e740a725c0 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * lib/go.exp (go_link_flags): Add libatomic location to flags and
+       ld_library_path.
+
 2012-12-18  Richard Biener  <rguenther@suse.de>
 
        * gcc.dg/tree-ssa/reassoc-19.c: Adjust.
index 8c908a5ced1fef10d683d7c3fa227184ac089b6f..8eea9fa8363485ca3fc16bc970aeb051e18f5f77 100644 (file)
@@ -111,6 +111,11 @@ proc go_link_flags { paths } {
           append flags "-L${gccpath}/libgo/.libs "
           append ld_library_path ":${gccpath}/libgo/.libs"
       }
+      if { [file exists "${gccpath}/libatomic/.libs/libatomic.a"] \
+          || [file exists "${gccpath}/libatomic/.libs/libatomic.${shlib_ext}"] } {
+          append flags "-L${gccpath}/libatomic/.libs "
+          append ld_library_path ":${gccpath}/libatomic/.libs"
+      }
       if [file exists "${gccpath}/libiberty/libiberty.a"] {
           append flags "-L${gccpath}/libiberty "
       }
index fe0f20585fc520127bd7ca473216ccf927accc47..a7ac3791b14940ff34190560dff6115a8cfce6a7 100644 (file)
@@ -1909,6 +1909,7 @@ libgo_la_LDFLAGS = \
 
 libgo_la_LIBADD = \
        $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
+       ../libatomic/libatomic.la \
        $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
 
 libgobegin_a_SOURCES = \
@@ -1948,7 +1949,7 @@ GOTESTFLAGS =
 
 # Check a package.
 CHECK = \
-       GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
+       GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -L `${PWD_COMMAND}`/../libatomic -L `${PWD_COMMAND}`/../libatomic/.libs"; \
        export GC; \
        GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
        export GOLIBS; \
@@ -1957,7 +1958,7 @@ CHECK = \
        MAKE="$(MAKE)"; \
        export MAKE; \
        libgccdir=`${GOC} -print-libgcc-file-name | sed -e 's|/[^/]*$$||'`; \
-       LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
+       LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:`${PWD_COMMAND}`/../libatomic/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
        LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
        export LD_LIBRARY_PATH; \
        $(MKDIR_P) $(@D); \
index 9b8ea1a57e29d6267da158c75505f71aebac0b1d..31e38ba25c7d75a3681d821377f92353e0c6d5cc 100644 (file)
@@ -175,9 +175,9 @@ am__DEPENDENCIES_2 = bufio.lo bytes.lo bytes/index.lo crypto.lo \
        testing/iotest.lo testing/quick.lo unicode/utf16.lo \
        unicode/utf8.lo
 libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
-       ../libbacktrace/libbacktrace.la $(am__DEPENDENCIES_1) \
+       ../libbacktrace/libbacktrace.la ../libatomic/libatomic.la \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 @LIBGO_IS_LINUX_FALSE@am__objects_1 = lock_sema.lo thread-sema.lo
 @LIBGO_IS_LINUX_TRUE@am__objects_1 = lock_futex.lo thread-linux.lo
 @HAVE_SYS_MMAN_H_FALSE@am__objects_2 = mem_posix_memalign.lo
@@ -2037,6 +2037,7 @@ libgo_la_LDFLAGS = \
 
 libgo_la_LIBADD = \
        $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
+       ../libatomic/libatomic.la \
        $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
 
 libgobegin_a_SOURCES = \
@@ -2071,7 +2072,7 @@ GOTESTFLAGS =
 
 # Check a package.
 CHECK = \
-       GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
+       GC="$(GOC) $(GOCFLAGS) $($(subst /,_,$@)_GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -L `${PWD_COMMAND}`/../libatomic -L `${PWD_COMMAND}`/../libatomic/.libs"; \
        export GC; \
        GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
        export GOLIBS; \
@@ -2080,7 +2081,7 @@ CHECK = \
        MAKE="$(MAKE)"; \
        export MAKE; \
        libgccdir=`${GOC} -print-libgcc-file-name | sed -e 's|/[^/]*$$||'`; \
-       LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
+       LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:`${PWD_COMMAND}`/../libatomic/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
        LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
        export LD_LIBRARY_PATH; \
        $(MKDIR_P) $(@D); \