diff options
Diffstat (limited to 'gcc/ada/tracebak.c')
-rw-r--r-- | gcc/ada/tracebak.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c index a8a200d..ea7bbfe 100644 --- a/gcc/ada/tracebak.c +++ b/gcc/ada/tracebak.c @@ -203,9 +203,23 @@ extern void (*Unlock_Task) (void); */ -/*--------------------------- PPC AIX/Darwin ----------------------------*/ +/*------------------- Darwin 8 (OSX 10.4) or newer ----------------------*/ +#if defined (__APPLE__) \ + && defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) \ + && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1040 + +#define USE_GCC_UNWINDER + +#if defined (__i386__) || defined (__x86_64__) +#define PC_ADJUST -2 +#elif defined (__ppc__) || defined (__ppc64__) +#define PC_ADJUST -4 +#else +#error Unhandled darwin architecture. +#endif -#if ((defined (_POWER) && defined (_AIX)) || \ +/*------------------------ PPC AIX/Older Darwin -------------------------*/ +#elif ((defined (_POWER) && defined (_AIX)) || \ (defined (__ppc__) && defined (__APPLE__))) #define USE_GENERIC_UNWINDER |