Commit 0b8ca8fe by Andreas Schwab Committed by Ian Lance Taylor

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
parent 00f64309
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> 2012-12-16 Thomas Schwinge <thomas@codesourcery.com>
* configure.ac (ENABLE_GOLD): Consider *-*-gnu* targets ELF. * configure.ac (ENABLE_GOLD): Consider *-*-gnu* targets ELF.
......
...@@ -497,6 +497,7 @@ dependencies = { module=configure-target-libgo; on=configure-target-libffi; }; ...@@ -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=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-libbacktrace; };
dependencies = { module=all-target-libgo; on=all-target-libffi; }; 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-zlib; };
dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; }; dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
dependencies = { module=configure-target-libjava; on=configure-target-libffi; }; dependencies = { module=configure-target-libjava; on=configure-target-libffi; };
......
...@@ -46154,6 +46154,7 @@ configure-target-libgo: maybe-configure-target-libffi ...@@ -46154,6 +46154,7 @@ configure-target-libgo: maybe-configure-target-libffi
configure-target-libgo: maybe-all-target-libstdc++-v3 configure-target-libgo: maybe-all-target-libstdc++-v3
all-target-libgo: maybe-all-target-libbacktrace all-target-libgo: maybe-all-target-libbacktrace
all-target-libgo: maybe-all-target-libffi 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-zlib
configure-target-libjava: maybe-configure-target-boehm-gc configure-target-libjava: maybe-configure-target-boehm-gc
configure-target-libjava: maybe-configure-target-libffi configure-target-libjava: maybe-configure-target-libffi
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> 2012-11-29 Ian Lance Taylor <iant@google.com>
* go-gcc.cc: Include "output.h". * go-gcc.cc: Include "output.h".
......
...@@ -45,6 +45,9 @@ along with GCC; see the file COPYING3. If not see ...@@ -45,6 +45,9 @@ along with GCC; see the file COPYING3. If not see
#define THREAD_LIBRARY "pthread" #define THREAD_LIBRARY "pthread"
#define THREAD_LIBRARY_PROFILE THREAD_LIBRARY #define THREAD_LIBRARY_PROFILE THREAD_LIBRARY
#define LIBATOMIC "atomic"
#define LIBATOMIC_PROFILE LIBATOMIC
#define LIBGO "go" #define LIBGO "go"
#define LIBGO_PROFILE LIBGO #define LIBGO_PROFILE LIBGO
#define LIBGOBEGIN "gobegin" #define LIBGOBEGIN "gobegin"
...@@ -336,6 +339,11 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, ...@@ -336,6 +339,11 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
added_libraries++; added_libraries++;
j++; 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 #ifdef HAVE_LD_STATIC_DYNAMIC
if (library > 1 && !static_link) if (library > 1 && !static_link)
{ {
......
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> 2012-12-18 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/reassoc-19.c: Adjust. * gcc.dg/tree-ssa/reassoc-19.c: Adjust.
......
...@@ -111,6 +111,11 @@ proc go_link_flags { paths } { ...@@ -111,6 +111,11 @@ proc go_link_flags { paths } {
append flags "-L${gccpath}/libgo/.libs " append flags "-L${gccpath}/libgo/.libs "
append ld_library_path ":${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"] { if [file exists "${gccpath}/libiberty/libiberty.a"] {
append flags "-L${gccpath}/libiberty " append flags "-L${gccpath}/libiberty "
} }
......
...@@ -1909,6 +1909,7 @@ libgo_la_LDFLAGS = \ ...@@ -1909,6 +1909,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \ libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \ $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
../libatomic/libatomic.la \
$(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \ libgobegin_a_SOURCES = \
...@@ -1948,7 +1949,7 @@ GOTESTFLAGS = ...@@ -1948,7 +1949,7 @@ GOTESTFLAGS =
# Check a package. # Check a package.
CHECK = \ 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; \ export GC; \
GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \ GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
export GOLIBS; \ export GOLIBS; \
...@@ -1957,7 +1958,7 @@ CHECK = \ ...@@ -1957,7 +1958,7 @@ CHECK = \
MAKE="$(MAKE)"; \ MAKE="$(MAKE)"; \
export MAKE; \ export MAKE; \
libgccdir=`${GOC} -print-libgcc-file-name | sed -e 's|/[^/]*$$||'`; \ 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,:*$$,,'`; \ LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
export LD_LIBRARY_PATH; \ export LD_LIBRARY_PATH; \
$(MKDIR_P) $(@D); \ $(MKDIR_P) $(@D); \
......
...@@ -175,9 +175,9 @@ am__DEPENDENCIES_2 = bufio.lo bytes.lo bytes/index.lo crypto.lo \ ...@@ -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 \ testing/iotest.lo testing/quick.lo unicode/utf16.lo \
unicode/utf8.lo unicode/utf8.lo
libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ 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) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
@LIBGO_IS_LINUX_FALSE@am__objects_1 = lock_sema.lo thread-sema.lo @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 @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 @HAVE_SYS_MMAN_H_FALSE@am__objects_2 = mem_posix_memalign.lo
...@@ -2037,6 +2037,7 @@ libgo_la_LDFLAGS = \ ...@@ -2037,6 +2037,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \ libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \ $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
../libatomic/libatomic.la \
$(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \ libgobegin_a_SOURCES = \
...@@ -2071,7 +2072,7 @@ GOTESTFLAGS = ...@@ -2071,7 +2072,7 @@ GOTESTFLAGS =
# Check a package. # Check a package.
CHECK = \ 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; \ export GC; \
GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \ GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
export GOLIBS; \ export GOLIBS; \
...@@ -2080,7 +2081,7 @@ CHECK = \ ...@@ -2080,7 +2081,7 @@ CHECK = \
MAKE="$(MAKE)"; \ MAKE="$(MAKE)"; \
export MAKE; \ export MAKE; \
libgccdir=`${GOC} -print-libgcc-file-name | sed -e 's|/[^/]*$$||'`; \ 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,:*$$,,'`; \ LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
export LD_LIBRARY_PATH; \ export LD_LIBRARY_PATH; \
$(MKDIR_P) $(@D); \ $(MKDIR_P) $(@D); \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment