This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: boehm broken on i686-apple-darwin9
- From: Andreas Tobler <toa at pop dot agri dot ch>
- To: Mike Stump <mrs at apple dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, a dot tobler at schweiz dot org
- Date: Wed, 17 Jan 2007 21:31:32 +0100
- Subject: Re: boehm broken on i686-apple-darwin9
- References: <7307BF16-8D78-4F7E-B1C0-B4EA8BE8437E@apple.com>
Mike Stump wrote:
Something appears to have recently broken darwin9 builds for me... I
suspect it was:
It was me, yes.
Since this is a regression, I checked in the following fix.
And I'd say it is not a regression :) The x86_64 part did not work at
all before my patch. It only compiled.....
And beside, the libjava part for x86_64-apple-darwin is not yet finished.
I'll take care of that to move it to the right place. Defining these
defines twice is a bit a waste. For no it is ok.
Thank you. I still lack a few resources to test that myself.
Andreas
------------------------------------------------------------------------
2007-01-17 Mike Stump <mrs@apple.com>
* os_dep.c: Fix i686-apple-darwin9 builds.
Doing diffs in boehm-gc:
--- boehm-gc/os_dep.c.~1~ 2007-01-17 09:58:59.000000000 -0800
+++ boehm-gc/os_dep.c 2007-01-17 12:05:48.000000000 -0800
@@ -3405,6 +3405,15 @@ extern kern_return_t exception_raise_sta
#define MAX_EXCEPTION_PORTS 16
+#if defined (HAS_PPC_THREAD_STATE___R0) || \
+ defined (HAS_PPC_THREAD_STATE64___R0) || \
+ defined (HAS_X86_THREAD_STATE32___EAX) || \
+ defined (HAS_X86_THREAD_STATE64___RAX)
+# define THREAD_FLD(x) __ ## x
+#else
+# define THREAD_FLD(x) x
+#endif
+
static struct {
mach_msg_type_number_t count;
exception_mask_t masks[MAX_EXCEPTION_PORTS];
@@ -3846,7 +3855,7 @@ catch_exception_raise(
#if defined(POWERPC)
addr = (char*) exc_state.dar;
#elif defined (I386) || defined (X86_64)
- addr = (char*) exc_state.faultvaddr;
+ addr = (char*) exc_state. THREAD_FLD(faultvaddr);
#else
# error FIXME for non POWERPC/I386
#endif
--------------