Commit 9a35ada5 by Mike Stump Committed by Mike Stump

configure.ac: Fix x86 darwin builds.

	* configure.ac: Fix x86 darwin builds.
	* darwin_stop_world.c: Likewise.
	* include/private/gcconfig.h: Likewise.
	* connfigure: Regenerate.

From-SVN: r119670
parent 920aeaf3
2006-12-08 Mike Stump <mrs@apple.com>
* configure.ac: Fix x86 darwin builds.
* darwin_stop_world.c: Likewise.
* include/private/gcconfig.h: Likewise.
* connfigure: Regenerate.
2006-09-26 Jack Howarth <howarth@bromo.med.uc.edu> 2006-09-26 Jack Howarth <howarth@bromo.med.uc.edu>
PR target/29180 PR target/29180
......
...@@ -5465,7 +5465,8 @@ _ACEOF ...@@ -5465,7 +5465,8 @@ _ACEOF
#define THREAD_LOCAL_ALLOC 1 #define THREAD_LOCAL_ALLOC 1
_ACEOF _ACEOF
cat >>confdefs.h <<\_ACEOF
cat >>confdefs.h <<\_ACEOF
#define USE_COMPILER_TLS 1 #define USE_COMPILER_TLS 1
_ACEOF _ACEOF
...@@ -6084,6 +6085,7 @@ _ACEOF ...@@ -6084,6 +6085,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h> #include <mach/thread_status.h>
int int
...@@ -6129,6 +6131,7 @@ _ACEOF ...@@ -6129,6 +6131,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h> #include <mach/thread_status.h>
int int
...@@ -6195,6 +6198,7 @@ _ACEOF ...@@ -6195,6 +6198,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h> #include <mach/thread_status.h>
int int
...@@ -6240,6 +6244,7 @@ _ACEOF ...@@ -6240,6 +6244,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */ /* end confdefs.h. */
#include <sys/cdefs.h>
#include <mach/thread_status.h> #include <mach/thread_status.h>
int int
......
...@@ -267,11 +267,13 @@ case "$host" in ...@@ -267,11 +267,13 @@ case "$host" in
AC_CHECK_MEMBER(i386_thread_state_t.eax, AC_CHECK_MEMBER(i386_thread_state_t.eax,
AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl
[i386_thread_state_t has field eax]),, [i386_thread_state_t has field eax]),,
[#include <mach/thread_status.h>]) [#include <sys/cdefs.h>
#include <mach/thread_status.h>])
AC_CHECK_MEMBER(i386_thread_state_t.__eax, AC_CHECK_MEMBER(i386_thread_state_t.__eax,
AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl
[i386_thread_state_t has field __eax]),, [i386_thread_state_t has field __eax]),,
[#include <mach/thread_status.h>]) [#include <sys/cdefs.h>
#include <mach/thread_status.h>])
;; ;;
*) ;; *) ;;
esac esac
......
...@@ -49,6 +49,15 @@ ...@@ -49,6 +49,15 @@
# else # else
# error can not work out how to access fields of i386_thread_state_t # error can not work out how to access fields of i386_thread_state_t
# endif # endif
#elif defined(__x86_64__)
# define THREAD_STATE i386_thread_state_t
# if defined (HAS_I386_THREAD_STATE_EAX)
# define THREAD_FLD(x) x
# elif defined (HAS_I386_THREAD_STATE___EAX)
# define THREAD_FLD(x) __ ## x
# else
# error can not work out how to access fields of i386_thread_state_t
# endif
#else #else
# error unknown architecture # error unknown architecture
#endif #endif
...@@ -127,15 +136,15 @@ void GC_push_all_stacks() { ...@@ -127,15 +136,15 @@ void GC_push_all_stacks() {
if(r != KERN_SUCCESS) ABORT("thread_get_state failed"); if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
#if defined(I386) #if defined(I386)
lo = state.esp; lo = (void*)state . THREAD_FLD (esp);
GC_push_one(state.eax); GC_push_one(state . THREAD_FLD (eax));
GC_push_one(state.ebx); GC_push_one(state . THREAD_FLD (ebx));
GC_push_one(state.ecx); GC_push_one(state . THREAD_FLD (ecx));
GC_push_one(state.edx); GC_push_one(state . THREAD_FLD (edx));
GC_push_one(state.edi); GC_push_one(state . THREAD_FLD (edi));
GC_push_one(state.esi); GC_push_one(state . THREAD_FLD (esi));
GC_push_one(state.ebp); GC_push_one(state . THREAD_FLD (ebp));
#elif defined(POWERPC) #elif defined(POWERPC)
lo = (void*)(state . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE); lo = (void*)(state . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE);
......
...@@ -302,7 +302,7 @@ ...@@ -302,7 +302,7 @@
# if defined(__ppc__) || defined(__ppc64__) # if defined(__ppc__) || defined(__ppc64__)
# define POWERPC # define POWERPC
# define mach_type_known # define mach_type_known
# elif defined(__i386__) # elif defined(__i386__) || defined(__x86_64)
# define I386 # define I386
# define mach_type_known # define mach_type_known
# endif # endif
...@@ -787,7 +787,7 @@ ...@@ -787,7 +787,7 @@
# define DATAEND (_end) # define DATAEND (_end)
# endif # endif
# ifdef DARWIN # ifdef DARWIN
# ifdef __ppc64__ # if defined(__ppc64__) || defined(__x86_64)
# define ALIGNMENT 8 # define ALIGNMENT 8
# define CPP_WORDSZ 64 # define CPP_WORDSZ 64
# else # else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment