aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-11-07 16:07:34 +0100
committerThomas Schwinge <tschwinge@gcc.gnu.org>2013-11-07 16:07:34 +0100
commitde14871c88330996f2aeec4f9331aee85b664bd7 (patch)
treeaef72f75ea80aeea4373ea725a6b2bd6c9b83f78
parent7190fdc1906cfdfee00dc32197bee568d8174b71 (diff)
downloadgcc-de14871c88330996f2aeec4f9331aee85b664bd7.zip
gcc-de14871c88330996f2aeec4f9331aee85b664bd7.tar.gz
gcc-de14871c88330996f2aeec4f9331aee85b664bd7.tar.bz2
Generally link to libgomp for -ftree-parallelize-loops=*.
gcc/ * config/arc/arc.h (LINK_COMMAND_SPEC): For -ftree-parallelize-loops=*, link to libgomp and its dependencies. * config/ia64/hpux.h (LIB_SPEC): Likewise. * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. * gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's dependencies. libgomp/ * libgomp.spec.in: Update comment about libgomp's dependencies. * configure.ac: Likewise. * configure: Regenerate. From-SVN: r204517
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/arc/arc.h3
-rw-r--r--gcc/config/ia64/hpux.h2
-rw-r--r--gcc/config/pa/pa-hpux11.h3
-rw-r--r--gcc/config/pa/pa64-hpux.h18
-rw-r--r--gcc/gcc.c2
-rw-r--r--libgomp/ChangeLog6
-rwxr-xr-xlibgomp/configure2
-rw-r--r--libgomp/configure.ac2
-rw-r--r--libgomp/libgomp.spec.in2
10 files changed, 37 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a4bb664..cfb6036 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * config/arc/arc.h (LINK_COMMAND_SPEC): For
+ -ftree-parallelize-loops=*, link to libgomp and its dependencies.
+ * config/ia64/hpux.h (LIB_SPEC): Likewise.
+ * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
+ * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
+ * gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's
+ dependencies.
+
2013-11-07 Jakub Jelinek <jakub@redhat.com>
* tree-ssa-loop-niter.c: Include tree-ssanames.h.
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 637f7b6..87908d4 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -174,7 +174,8 @@ along with GCC; see the file COPYING3. If not see
%(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
%{static:} %{L*} %(mfwrap) %(link_libgcc) %o\
- %{fopenmp:%:include(libgomp.spec)%(link_gomp)} %(mflib)\
+ %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)}\
+ %(mflib)\
%{fprofile-arcs|fprofile-generate|coverage:-lgcov}\
%{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index ca592e4..517132c 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -92,7 +92,7 @@ do { \
#undef LIB_SPEC
#define LIB_SPEC \
"%{!shared: \
- %{mt|pthread:%{fopenmp:-lrt} -lpthread} \
+ %{mt|pthread:%{fopenmp|ftree-parallelize-loops=*:-lrt} -lpthread} \
%{p:%{!mlp64:-L/usr/lib/hpux32/libp} \
%{mlp64:-L/usr/lib/hpux64/libp} -lprof} \
%{pg:%{!mlp64:-L/usr/lib/hpux32/libp} \
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h
index c217398..4da1b09 100644
--- a/gcc/config/pa/pa-hpux11.h
+++ b/gcc/config/pa/pa-hpux11.h
@@ -120,7 +120,8 @@ along with GCC; see the file COPYING3. If not see
#undef LIB_SPEC
#define LIB_SPEC \
"%{!shared:\
- %{fopenmp:%{static:-a archive_shared} -lrt %{static:-a archive}}\
+ %{fopenmp|ftree-parallelize-loops=*:%{static:-a archive_shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a archive_shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}\
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index a3e21d3..9efc137 100644
--- a/gcc/config/pa/pa64-hpux.h
+++ b/gcc/config/pa/pa64-hpux.h
@@ -58,19 +58,22 @@ along with GCC; see the file COPYING3. If not see
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_GNU_LD)
#define LIB_SPEC \
"%{!shared:\
- %{!p:%{!pg:%{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{!p:%{!pg:%{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
%{p:%{!pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\
-lprof %{static:-a archive}\
- %{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
%{pg:%{static:%{!mhp-ld:-a shared}%{mhp-ld:-a archive_shared}}\
-lgprof %{static:-a archive}\
- %{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
@@ -78,19 +81,22 @@ along with GCC; see the file COPYING3. If not see
#else
#define LIB_SPEC \
"%{!shared:\
- %{!p:%{!pg:%{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{!p:%{!pg:%{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
%{p:%{!pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\
-lprof %{static:-a archive}\
- %{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
%{pg:%{static:%{mgnu-ld:-a shared}%{!mgnu-ld:-a archive_shared}}\
-lgprof %{static:-a archive}\
- %{fopenmp:%{static:-a shared} -lrt %{static:-a archive}}\
+ %{fopenmp|ftree-parallelize-loops=*:%{static:-a shared} -lrt\
+ %{static:-a archive}}\
%{mt|pthread:-lpthread} -lc\
%{static:%{!nolibdld:-a shared -ldld -a archive -lc}\
%{!mt:%{!pthread:-a shared -lc -a archive}}}}}\
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 83607e55..dff7477 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -924,7 +924,7 @@ static const char *const multilib_defaults_raw[] = MULTILIB_DEFAULTS;
#define DRIVER_SELF_SPECS ""
#endif
-/* Adding -fopenmp should imply pthreads. This is particularly important
+/* Linking to libgomp implies pthreads. This is particularly important
for targets that use different start files and suchlike. */
#ifndef GOMP_SELF_SPECS
#define GOMP_SELF_SPECS "%{fopenmp|ftree-parallelize-loops=*: -pthread}"
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index e04c56a..507a589 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
+
+ * libgomp.spec.in: Update comment about libgomp's dependencies.
+ * configure.ac: Likewise.
+ * configure: Regenerate.
+
2013-10-16 Tobias Burnus <burnus@net-b.de>
* libgomp.texi: (Runtime Library Routines): Update references for
diff --git a/libgomp/configure b/libgomp/configure
index 06276e1..766eb09 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -16154,7 +16154,7 @@ else
fi
# Set up the set of libraries that we need to link against for libgomp.
-# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp,
+# Note that the GOMP_SELF_SPEC in gcc.c may force -pthread,
# which will force linkage against -lpthread (or equivalent for the system).
# That's not 100% ideal, but about the best we can do easily.
if test $enable_shared = yes; then
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index e7fbb31..84d250f 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -274,7 +274,7 @@ else
fi
# Set up the set of libraries that we need to link against for libgomp.
-# Note that the GOMP_SELF_SPEC in gcc.c will force -pthread for -fopenmp,
+# Note that the GOMP_SELF_SPEC in gcc.c may force -pthread,
# which will force linkage against -lpthread (or equivalent for the system).
# That's not 100% ideal, but about the best we can do easily.
if test $enable_shared = yes; then
diff --git a/libgomp/libgomp.spec.in b/libgomp/libgomp.spec.in
index b7319f3..5651603 100644
--- a/libgomp/libgomp.spec.in
+++ b/libgomp/libgomp.spec.in
@@ -1,3 +1,3 @@
# This spec file is read by gcc when linking. It is used to specify the
-# standard libraries we need in order to link with -fopenmp.
+# standard libraries we need in order to link with libgomp.
*link_gomp: @link_gomp@