blob: 6b855e5883bdf0c815dddeaf719362777eebc86c [file] [log] [blame]
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 {