aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-12-18 14:28:24 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-12-18 14:28:24 +0000
commit0b8ca8fefec7479e91654819be9b77362406b1b5 (patch)
tree6b6b9c9d00ac2d0024524cb1e632b9a8d05cbcdd /gcc
parent00f643091dd1dabac75b69e78cc43e9e2711eead (diff)
downloadgcc-0b8ca8fefec7479e91654819be9b77362406b1b5.zip
gcc-0b8ca8fefec7479e91654819be9b77362406b1b5.tar.gz
gcc-0b8ca8fefec7479e91654819be9b77362406b1b5.tar.bz2
libgo: Link against libatomic.
./: 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/go/ChangeLog7
-rw-r--r--gcc/go/gospec.c8
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/lib/go.exp5
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index 1797763..a29a8e0 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -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".
diff --git a/gcc/go/gospec.c b/gcc/go/gospec.c
index 20372f0..c22ad6c 100644
--- a/gcc/go/gospec.c
+++ b/gcc/go/gospec.c
@@ -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)
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5a49c61..7bc7788c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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.
diff --git a/gcc/testsuite/lib/go.exp b/gcc/testsuite/lib/go.exp
index 8c908a5..8eea9fa 100644
--- a/gcc/testsuite/lib/go.exp
+++ b/gcc/testsuite/lib/go.exp
@@ -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 "
}