summaryrefslogtreecommitdiff
path: root/os_dep.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2011-12-27 11:43:41 +0400
committerIvan Maidanski <ivmai@mail.ru>2011-12-27 11:43:41 +0400
commit777f230e426bfa13af263221f8234ce91f488d84 (patch)
treec149aa00e604736ced006b9ec1e56b433411edeb /os_dep.c
parent10f891e3072c719226ccd2d86ece5a9cb8576b36 (diff)
downloadbdwgc-777f230e426bfa13af263221f8234ce91f488d84.tar.gz
MacOSX: Accept i386_ prefix for exception_state_t (for compatibility)
* os_dep.c (DARWIN_EXC_STATE, DARWIN_EXC_STATE_COUNT, DARWIN_EXC_STATE_T): Define to i386_EXCEPTION_STATE, i386_EXCEPTION_STATE_COUNT and i386_exception_state_t, respectively, for Darwin/x86 if i386_EXCEPTION_STATE_COUNT macro is defined.
Diffstat (limited to 'os_dep.c')
-rw-r--r--os_dep.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/os_dep.c b/os_dep.c
index a191bb32..6aea75fd 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -4239,9 +4239,17 @@ STATIC kern_return_t GC_forward_exception(mach_port_t thread, mach_port_t task,
# define DARWIN_EXC_STATE_DAR THREAD_FLD(dar)
#elif defined(I386) || defined(X86_64)
# if CPP_WORDSZ == 32
-# define DARWIN_EXC_STATE x86_EXCEPTION_STATE32
-# define DARWIN_EXC_STATE_COUNT x86_EXCEPTION_STATE32_COUNT
-# define DARWIN_EXC_STATE_T x86_exception_state32_t
+# if defined(i386_EXCEPTION_STATE_COUNT) \
+ && !defined(x86_EXCEPTION_STATE32_COUNT)
+ /* Use old naming convention for 32-bit x86. */
+# define DARWIN_EXC_STATE i386_EXCEPTION_STATE
+# define DARWIN_EXC_STATE_COUNT i386_EXCEPTION_STATE_COUNT
+# define DARWIN_EXC_STATE_T i386_exception_state_t
+# else
+# define DARWIN_EXC_STATE x86_EXCEPTION_STATE32
+# define DARWIN_EXC_STATE_COUNT x86_EXCEPTION_STATE32_COUNT
+# define DARWIN_EXC_STATE_T x86_exception_state32_t
+# endif
# else
# define DARWIN_EXC_STATE x86_EXCEPTION_STATE64
# define DARWIN_EXC_STATE_COUNT x86_EXCEPTION_STATE64_COUNT