diff options
-rw-r--r-- | cygwin-gcc.spec | 2 | ||||
-rw-r--r-- | gcc45-gc-win32-threads.diff | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/cygwin-gcc.spec b/cygwin-gcc.spec index 622cdec..c4b05b8 100644 --- a/cygwin-gcc.spec +++ b/cygwin-gcc.spec @@ -81,6 +81,7 @@ Patch10: gcc45-java-FIONREAD.diff Patch11: classpath-0.98-awt.patch Patch12: gcc45-peflags.diff Patch13: gcc45-cross-exe-suffix.diff +Patch14: gcc45-gc-win32-threads.diff %description @@ -194,6 +195,7 @@ Cygwin cross-compiler for Java. %endif %patch12 -p2 -b .peflags~ %patch13 -p1 -b .exe-suffix~ +%patch14 -p1 -b .gc-win32-threads echo %{gcc_version} > gcc/BASE-VER echo 'Fedora Cygwin %{gcc_version}-%{gcc_release}' > gcc/DEV-PHASE diff --git a/gcc45-gc-win32-threads.diff b/gcc45-gc-win32-threads.diff new file mode 100644 index 0000000..f295272 --- /dev/null +++ b/gcc45-gc-win32-threads.diff @@ -0,0 +1,20 @@ +--- gcc-4.5.3/libjava/boehm.cc.orig 2012-05-29 20:37:15.802823780 -0500 ++++ gcc-4.5.3/libjava/boehm.cc 2012-05-29 20:37:48.329821290 -0500 +@@ -747,7 +747,7 @@ _Jv_GCAttachThread () + // The registration interface is only defined on posixy systems and + // only actually works if pthread_getattr_np is defined. + // FIXME: until gc7 it is simpler to disable this on solaris. +-#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) ++#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) && !defined(GC_WIN32_THREADS) + GC_register_my_thread (); + #endif + } +@@ -755,7 +755,7 @@ _Jv_GCAttachThread () + void + _Jv_GCDetachThread () + { +-#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) ++#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) && !defined(GC_WIN32_THREADS) + GC_unregister_my_thread (); + #endif + } |