summaryrefslogtreecommitdiff
blob: 6b855e5883bdf0c815dddeaf719362777eebc86c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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 {