OSDN Git Service

2009-12-31 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
authordavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Dec 2009 01:35:24 +0000 (01:35 +0000)
committerdavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Dec 2009 01:35:24 +0000 (01:35 +0000)
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
gcc/config/darwin.h
gcc/config/darwin9.h

index 7a9eab0..3c20ec9 100644 (file)
@@ -1,3 +1,14 @@
+2009-12-31  Dave Korn  <dave.korn.cygwin@gmail.com>
+           Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+
+       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  <dave.korn.cygwin@gmail.com>
 
        PR lto/42531
index 2bcc71a..6595e53 100644 (file)
@@ -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)} \
index 8c6f671..ff34a5d 100644 (file)
@@ -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: \