Skip to content

Commit

Permalink
[amd64] Avoid unbalanced CFA offsets.
Browse files Browse the repository at this point in the history
This fixes the following warnings generated by ld on Mac OS X:

- ld: warning: could not create compact unwind for _caml_raise_exn: stack subq instruction is too different from dwarf stack size
- ld: warning: could not create compact unwind for _caml_raise_exception: stack subq instruction is too different from dwarf stack size

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
  • Loading branch information
bmeurer committed Jan 13, 2013
1 parent 51d41f1 commit 75922f0
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions asmrun/amd64.S
Expand Up @@ -483,7 +483,7 @@ CFI_STARTPROC
TESTL_VAR($1, caml_backtrace_active)
jne LBL(110)
movq %r14, %rsp
popq %r14; CFI_ADJUST(-8)
popq %r14
ret
LBL(110):
movq %rax, %r12 /* Save exception bucket */
Expand All @@ -496,7 +496,7 @@ LBL(110):
call GCALL(caml_stash_backtrace)
movq %r12, %rax /* Recover exception bucket */
movq %r14, %rsp
popq %r14; CFI_ADJUST(-8)
popq %r14
ret
CFI_ENDPROC

Expand All @@ -508,7 +508,7 @@ CFI_STARTPROC
jne LBL(111)
movq C_ARG_1, %rax
LOAD_VAR(caml_exception_pointer, %rsp) /* Cut stack */
popq %r14; CFI_ADJUST(-8) /* Recover previous exception handler */
popq %r14 /* Recover previous exception handler */
LOAD_VAR(caml_young_ptr, %r15) /* Reload alloc ptr */
ret
LBL(111):
Expand All @@ -522,8 +522,8 @@ LBL(111):
call GCALL(caml_stash_backtrace)
movq %r12, %rax /* Recover exception bucket */
LOAD_VAR(caml_exception_pointer,%rsp)
popq %r14; CFI_ADJUST(-8) /* Recover previous exception handler */
LOAD_VAR(caml_young_ptr,%r15) /* Reload alloc ptr */
popq %r14 /* Recover previous exception handler */
LOAD_VAR(caml_young_ptr,%r15) /* Reload alloc ptr */
ret
CFI_ENDPROC

Expand Down

0 comments on commit 75922f0

Please sign in to comment.