| Force use of old register names on old OS X (< 10.5). |
| |
| diff -ur ld64-241.9/src/ld/parsers/libunwind/Registers.hpp ld64-241.9/src/ld/parsers/libunwind/Registers.hpp |
| --- ld64-241.9/src/ld/parsers/libunwind/Registers.hpp 2014-09-11 00:24:46.000000000 +0200 |
| +++ ld64-241.9/src/ld/parsers/libunwind/Registers.hpp 2015-01-22 22:16:23.000000000 +0100 |
| @@ -40,6 +40,44 @@ |
| #include "libunwind.h" |
| #include "InternalMacros.h" |
| |
| +#include <AvailabilityMacros.h> |
| + |
| +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1050 |
| +/* member names of i386_thread_state and x86_thread_state64 have changed and |
| + * default of __DARWIN_UNIX03 activating those new names as well. Instead of |
| + * defining __DARWIN_UNIX03 with all its unknown consequences, we use defines |
| + * to make our source use the old names on an old system. */ |
| + |
| +#define __esp esp |
| +#define __eip eip |
| +#define __ebp ebp |
| +#define __ebx ebx |
| +#define __ecx ecx |
| +#define __edx edx |
| +#define __esi esi |
| +#define __edi edi |
| +#define __esp esp |
| +#define __eax eax |
| +#define __rip rip |
| +#define __rsp rsp |
| +#define __rax rax |
| +#define __rdx rdx |
| +#define __rcx rcx |
| +#define __rbx rbx |
| +#define __rsi rsi |
| +#define __rdi rdi |
| +#define __rbp rbp |
| +#define __rsp rsp |
| +#define __r8 r8 |
| +#define __r9 r9 |
| +#define __r10 r10 |
| +#define __r11 r11 |
| +#define __r12 r12 |
| +#define __r13 r13 |
| +#define __r14 r14 |
| +#define __r15 r15 |
| +#endif |
| + |
| namespace libunwind { |
| |
| |