summaryrefslogtreecommitdiff
path: root/boehm-gc/configure.ac
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-03 02:07:36 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-03 02:07:36 +0000
commit168c58e0bbae3def1c0ee17e7a226c4e3d9081ff (patch)
tree7db99eb5a7164070b8702b056eadc9042dc95f03 /boehm-gc/configure.ac
parent920bea8ab8f3890ad0017c271986fdf710eed081 (diff)
downloadgcc-168c58e0bbae3def1c0ee17e7a226c4e3d9081ff.tar.gz
Index: gcc/ChangeLog
2006-06-02 Geoffrey Keating <geoffk@apple.com> * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with HAVE_DECL_SIGALTSTACK. (MC_FLD): New. (segv_handler): Use MC_FLD. * configure.ac: Check for a sigaltstack declaration. Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. * configure: Regenerate. * config.in: Regenerate. Index: boehm-gc/ChangeLog 2006-06-02 Geoffrey Keating <geoffk@apple.com> * configure.ac: Define HAS_PPC_THREAD_STATE_R0, HAS_PPC_THREAD_STATE___R0, HAS_PPC_THREAD_STATE64_R0, HAS_PPC_THREAD_STATE64___R0, HAS_I386_THREAD_STATE_EAX, HAS_I386_THREAD_STATE___EAX. * configure: Regenerate. * include/gc_config.h.in: Regenerate. * darwin_stop_world.c (PPC_RED_ZONE_SIZE): Use standard Darwin macro names to determine value. (THREAD_STATE): New. (THREAD_FLD): New. (GC_push_all_stacks): Use THREAD_STATE and THREAD_FLD in both versions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114339 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/configure.ac')
-rw-r--r--boehm-gc/configure.ac33
1 files changed, 33 insertions, 0 deletions
diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac
index 69ad5cd3ab9..b1d53cf6a88 100644
--- a/boehm-gc/configure.ac
+++ b/boehm-gc/configure.ac
@@ -232,6 +232,39 @@ case "$host" in
esac
AM_CONDITIONAL(POWERPC_DARWIN,test x$powerpc_darwin = xtrue)
+# Darwin needs a few extra special tests to deal with variation in the
+# system headers.
+case "$host" in
+ powerpc*-*-darwin*)
+ AC_CHECK_MEMBER(ppc_thread_state_t.r0,
+ AC_DEFINE(HAS_PPC_THREAD_STATE_R0,,[ppc_thread_state_t has field r0]),,
+ [#include <mach/thread_status.h>])
+ AC_CHECK_MEMBER(ppc_thread_state_t.__r0,
+ AC_DEFINE(HAS_PPC_THREAD_STATE___R0,,dnl
+ [ppc_thread_state_t has field __r0]),,
+ [#include <mach/thread_status.h>])
+ AC_CHECK_MEMBER(ppc_thread_state64_t.r0,
+ AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,,dnl
+ [ppc_thread_state64_t has field r0]),,
+ [#include <mach/thread_status.h>])
+ AC_CHECK_MEMBER(ppc_thread_state64_t.__r0,
+ AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,,dnl
+ [ppc_thread_state64_t has field __r0]),,
+ [#include <mach/thread_status.h>])
+ ;;
+ i?86*-*-darwin*)
+ AC_CHECK_MEMBER(i386_thread_state_t.eax,
+ AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl
+ [i386_thread_state_t has field eax]),,
+ [#include <mach/thread_status.h>])
+ AC_CHECK_MEMBER(i386_thread_state_t.__eax,
+ AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl
+ [i386_thread_state_t has field __eax]),,
+ [#include <mach/thread_status.h>])
+ ;;
+ *) ;;
+esac
+
# We never want libdl on darwin. It is a fake libdl that just ends up making
# dyld calls anyway
case "$host" in