From af7599037acdcb2d192a8c7d7bdd4f30837fbf41 Mon Sep 17 00:00:00 2001 From: hboehm Date: Thu, 7 May 2009 22:30:57 +0000 Subject: [PATCH] 2009-05-07 Hans Boehm and Mark Sibly * mach_dep.c: Don't use __builtin_unwind_init for register state on PowerPC/Darwin. --- ChangeLog | 4 ++++ mach_dep.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f4157a0..4846099 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-05-07 Hans Boehm and Mark Sibly + * mach_dep.c: Don't use __builtin_unwind_init for register + state on PowerPC/Darwin. + 2009-04-24 Hans Boehm * doc/gcdescr.html: Improve description of object freelist structure. diff --git a/mach_dep.c b/mach_dep.c index 1eaa170..b6eaa0a 100644 --- a/mach_dep.c +++ b/mach_dep.c @@ -199,10 +199,13 @@ void GC_with_callee_saves_pushed(void (*fn)(ptr_t, void *), GC_save_regs_ret_val = GC_save_regs_in_stack(); } # endif /* register windows. */ -# elif defined(HAVE_BUILTIN_UNWIND_INIT) +# elif defined(HAVE_BUILTIN_UNWIND_INIT) && \ + !(defined(POWERPC) && defined(DARWIN)) /* This was suggested by Richard Henderson as the way to */ /* force callee-save registers and register windows onto */ /* the stack. */ + /* Mark Sibly points out that this doesn't seem to work */ + /* on MacOS 10.3.9/PowerPC. */ __builtin_unwind_init(); # else /* !HAVE_BUILTIN_UNWIND_INIT && !UNIX_LIKE */ /* && !HAVE_PUSH_REGS */ -- 2.7.4