[Mono-bugs] [Bug 74448][Wis] New - Problem building Boehm garbage collector on PPC
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Wed, 6 Apr 2005 11:46:33 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by jsacco@ydl.net.
http://bugzilla.ximian.com/show_bug.cgi?id=74448
--- shadow/74448 2005-04-06 11:46:32.000000000 -0400
+++ shadow/74448.tmp.25914 2005-04-06 11:46:33.000000000 -0400
@@ -0,0 +1,72 @@
+Bug#: 74448
+Product: Mono: Compilers
+Version: 1.1
+OS:
+OS Details: YDL-4.0.1, FC2 clone for PPC
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: Basic
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: jsacco@ydl.net
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Problem building Boehm garbage collector on PPC
+
+Description of Problem:
+Boehm garbage collector does not build on a PPC.
+
+Why:
+libgc configure file fails to select pthreads.
+
+How to fix the problem:
+
+--- configure- 2005-04-05 13:17:02.000000000 -0400
++++ configure 2005-04-05 13:17:21.000000000 -0400
+@@ -3903,7 +3903,7 @@
+ THREADS=posix
+ THREADLIBS=-lpthread
+ case "$host" in
+- x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* |
+x86_64-*-linux* | alpha-*-linux* | s390*-*-linux* | powerpc-*-linux)
++ x86-*-linux* | ia64-*-linux* | i586-*-linux* | i686-*-linux* |
+x86_64-*-linux* | alpha-*-linux* | s390*-*-linux* | powerpc-*-linux*)
+ cat >>confdefs.h <<\_ACEOF
+ #define GC_LINUX_THREADS 1
+ _ACEOF
+
+Further discussion:
+
+The culprit:
+
+ ./mono/os/gc_wrapper.h
+
+now defines GC_REDIRECT_TO_LOCAL
+
+ ...
+#ifdef HAVE_BOEHM_GC
+
+
+ /* libgc specifies this on the command line,
+ * so we must define it ourselfs
+ */
+# define GC_GCJ_SUPPORT
+ /*
+ * Local allocation is only beneficial if we have __thread
+ * We had to fix a bug with include order in libgc, so only do
+ * it if it is the included one.
+ */
+
+
+# if defined(HAVE_KW_THREAD) && defined(USE_INCLUDED_LIBGC)
+# define GC_REDIRECT_TO_LOCAL
+# endif
+
+ ...
+
+
+which requires THREAD_LOCAL_ALLOC to be defined when building libgc
+using pthreads.