Hi,
On Fri, 18 Aug 2006, Stephen R Marenka wrote:
> On Fri, Aug 18, 2006 at 04:57:21PM +0200, Michael Schmitz wrote:
>
> > Yecch - w3m depends on libgc1; I bet that's the one that is buggy.
>
> I believe earlier this month Roman had an initial patch to fix libgc.
Eek, it's indeed libgc which causes this, arm hit the same problem.
I filed a bug with libgc and the attached patch.
bye, Roman
diff -ur libgc-6.7.org/include/private/gcconfig.h
libgc-6.7/include/private/gcconfig.h
--- libgc-6.7.org/include/private/gcconfig.h 2006-08-04 12:27:03.000000000
+0200
+++ libgc-6.7/include/private/gcconfig.h 2006-08-19 20:05:33.000000000
+0200
@@ -673,10 +673,10 @@
# endif
# ifdef LINUX
# define OS_TYPE "LINUX"
-# define STACKBOTTOM ((ptr_t)0xf0000000)
+# define LINUX_STACKBOTTOM
# define USE_GENERIC_PUSH_REGS
/* We never got around to the assembly version. */
-/* # define MPROTECT_VDB - Reported to not work 9/17/01 */
+# define MPROTECT_VDB
# ifdef __ELF__
# define DYNAMIC_LOADING
# include <features.h>
diff -ur libgc-6.7.org/pthread_stop_world.c libgc-6.7/pthread_stop_world.c
--- libgc-6.7.org/pthread_stop_world.c 2006-08-04 12:27:03.000000000 +0200
+++ libgc-6.7/pthread_stop_world.c 2006-08-04 12:29:37.000000000 +0200
@@ -129,7 +129,7 @@
void GC_suspend_handler_inner(ptr_t sig_arg);
-#if defined(IA64) || defined(HP_PA)
+#if defined(IA64) || defined(HP_PA) || defined(M68K)
extern void GC_with_callee_saves_pushed();
void GC_suspend_handler(int sig)