summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowitz@users.sourceforge.net>2012-05-29 23:01:47 -0500
committerYaakov Selkowitz <yselkowitz@users.sourceforge.net>2012-05-29 23:01:47 -0500
commit67772608b57e3e3033fd241eb98586dc85ef1342 (patch)
tree39b991460ce09364a3f8055375c4d630f55670f9
parent72011c0b87ea47099cc62cab818a86eee502f7cc (diff)
downloadcygwin-gcc-67772608b57e3e3033fd241eb98586dc85ef1342.tar.gz
cygwin-gcc-67772608b57e3e3033fd241eb98586dc85ef1342.tar.xz
cygwin-gcc-67772608b57e3e3033fd241eb98586dc85ef1342.zip
Fix for cygwin-1.7.10
cygwin 1.7.10 added pthread_getattr_np, but boehm-gc still uses Win32 threads on Cygwin which don't provide these functions.
-rw-r--r--cygwin-gcc.spec2
-rw-r--r--gcc45-gc-win32-threads.diff20
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
+ }