OSDN Git Service

PR bootstrap/37660
authordavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jan 2009 19:20:08 +0000 (19:20 +0000)
committerdavek <davek@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jan 2009 19:20:08 +0000 (19:20 +0000)
* config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
(LIBGCC_SPEC):  Don't define.
(REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143552 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/cygwin.h

index bc511e9..1fba853 100644 (file)
@@ -1,3 +1,10 @@
+2009-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR bootstrap/37660
+       * config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
+       (LIBGCC_SPEC):  Don't define.
+       (REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.
+
 2009-01-21  Uros Bizjak  <ubizjak@gmail.com>
 
        PR rtl-optimization/38879
index f61cacb..9b2fd7f 100644 (file)
@@ -49,9 +49,26 @@ along with GCC; see the file COPYING3.  If not see
    GCC without making a new CYGWIN.DLL, so we leave it.  Profiling is handled
    by calling the init function from main.  */
 
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
-  "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc      \
+#ifdef ENABLE_SHARED_LIBGCC
+#define SHARED_LIBGCC_SPEC " \
+ %{static|static-libgcc:-lgcc -lgcc_eh} \
+ %{!static: \
+   %{!static-libgcc: \
+     %{!shared: \
+       %{!shared-libgcc:-lgcc -lgcc_eh} \
+       %{shared-libgcc:-lgcc_s -lgcc} \
+      } \
+     %{shared:-lgcc_s -lgcc} \
+    } \
+  } "
+#else
+#define SHARED_LIBGCC_SPEC " -lgcc "
+#endif
+
+#undef REAL_LIBGCC_SPEC
+#define REAL_LIBGCC_SPEC \
+  "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} \
+   " SHARED_LIBGCC_SPEC " \
    %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt}"
 
 /* We have to dynamic link to get to the system DLLs.  All of libc, libm and