From 6577f88ea06d0e9e3f1d924c87f7d5b7bbc1d248 Mon Sep 17 00:00:00 2001 From: davek Date: Thu, 31 Dec 2009 01:35:24 +0000 Subject: [PATCH] 2009-12-31 Iain Sandoe PR target/41605 * config/darwin.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically for target. (LINK_SPEC): Replace dynamic libraries by static equivalents where necessary. * config/darwin9.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically for target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155534 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 11 +++++++++++ gcc/config/darwin.h | 15 ++++++++++----- gcc/config/darwin9.h | 7 ++++--- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a9eab0d705..3c20ec9dfc2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2009-12-31 Dave Korn + Iain Sandoe + + PR target/41605 + * config/darwin.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically + for target. + (LINK_SPEC): Replace dynamic libraries by static equivalents where + necessary. + * config/darwin9.h (LINK_COMMAND_SPEC): Resolve fopenmp specifically + for target. + 2009-12-30 Dave Korn PR lto/42531 diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 2bcc71a6885..6595e53bda2 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -272,9 +272,10 @@ extern GTY(()) int darwin_ms_struct; %{A} %{e*} %{m} %{r} %{x} \ %{o*}%{!o:-o a.out} \ %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \ - %{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)} \ - %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ - %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \ + %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \ + %{fopenmp|ftree-parallelize-loops=*: \ + %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ + %{!nostdlib:%{!nodefaultlibs: %(link_ssp) %G %L }} \ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\ %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \ @@ -293,8 +294,12 @@ extern GTY(()) int darwin_ms_struct; so put a * after their names so all of them get passed. */ #define LINK_SPEC \ "%{static}%{!static:-dynamic} \ - %{fgnu-runtime:%:replace-outfile(-lobjc -lobjc-gnu)}\ - %{static|static-libgfortran:%:replace-outfile(-lgfortran libgfortran.a%s)}\ + %{fgnu-runtime: %{static|static-libgcc: \ + %:replace-outfile(-lobjc libobjc-gnu.a%s); \ + :%:replace-outfile(-lobjc -lobjc-gnu ) } }\ + %{static|static-libgcc|static-libgfortran:%:replace-outfile(-lgfortran libgfortran.a%s)}\ + %{static|static-libgcc|static-libstdc++|static-libgfortran:%:replace-outfile(-lgomp libgomp.a%s)}\ + %{static|static-libgcc|static-libstdc++:%:replace-outfile(-lstdc++ libstdc++.a%s)}\ %{!Zdynamiclib: \ %{Zforce_cpusubtype_ALL:-arch %(darwin_arch) -force_cpusubtype_ALL} \ %{!Zforce_cpusubtype_ALL:-arch %(darwin_subarch)} \ diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h index 8c6f671b03b..ff34a5dddea 100644 --- a/gcc/config/darwin9.h +++ b/gcc/config/darwin9.h @@ -31,9 +31,10 @@ along with GCC; see the file COPYING3. If not see %{A} %{e*} %{m} %{r} %{x} \ %{o*}%{!o:-o a.out} \ %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \ - %{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)} \ - %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ - %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \ + %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \ + %{fopenmp|ftree-parallelize-loops=*: \ + %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ + %{!nostdlib:%{!nodefaultlibs: %(link_ssp) %G %L }} \ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\ %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \ -- 2.11.0