From b8a1087d675032e053fb105871bd1811a62d1519 Mon Sep 17 00:00:00 2001 From: Dave Korn Date: Wed, 21 Jan 2009 19:20:08 +0000 Subject: [PATCH] re PR bootstrap/37660 (Error Building libssp, recent update) 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. From-SVN: r143552 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/cygwin.h | 23 ++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc511e9e366f..1fba853ce671 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-01-21 Dave Korn + + 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 PR rtl-optimization/38879 diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index f61cacb3e1ac..9b2fd7f2b7df 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -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 -- 2.47.3