File tree Expand file tree Collapse file tree 1 file changed +5
-10
lines changed Expand file tree Collapse file tree 1 file changed +5
-10
lines changed Original file line number Diff line number Diff line change 48
48
.type MORESTACK,@function
49
49
#endif
50
50
51
- #if defined(__linux__)
51
+ #if defined(__linux__) || defined(__APPLE__)
52
52
MORESTACK:
53
- .cfi_startproc
54
53
55
54
# Set up a normal backtrace
56
55
pushq %rbp
57
- .cfi_def_cfa_offset 16
58
- .cfi_offset %rbp , -16
59
56
movq %rsp , %rbp
60
- .cfi_def_cfa_register %rbp
61
57
62
58
// FIXME: libgcc also saves rax. not sure if we need to
63
59
@@ -79,9 +75,9 @@ MORESTACK:
79
75
pushq %rcx // Address of stack arguments
80
76
pushq %r10 // The amount of stack needed
81
77
82
- leaq UPCALL_NEW_STACK@PLT (%rip ), %rsi
78
+ movq UPCALL_NEW_STACK@GOTPCREL (%rip ), %rsi
83
79
movq %rsp , %rdi
84
- call UPCALL_CALL_C@PLT
80
+ call UPCALL_CALL_C@GOTPCREL
85
81
86
82
// Pop the new_stack_args struct
87
83
addq $24 , %rsp
@@ -106,15 +102,14 @@ MORESTACK:
106
102
// Align the stack again
107
103
pushq $0
108
104
109
- leaq UPCALL_DEL_STACK@PLT (%rip ), %rsi
105
+ movq UPCALL_DEL_STACK@GOTPCREL (%rip ), %rsi
110
106
movq $0 , %rdi
111
- call UPCALL_CALL_C@PLT
107
+ call UPCALL_CALL_C@GOTPCREL
112
108
113
109
addq $8 , %rsp
114
110
popq %rbp
115
111
ret
116
112
117
- .cfi_endproc
118
113
#else
119
114
MORESTACK:
120
115
ret
You can’t perform that action at this time.
0 commit comments