Use correct CFA register on ARM64#13595
Conversation
5cf6540 to
b3e7685
Compare
|
Updated to remove a CI workflow change which was breaking the MacOS CI. https://github.com/ocaml/ocaml/actions/runs/11720868392/job/32647116985 |
b3e7685 to
a5ccaaf
Compare
tmcgilchrist
left a comment
There was a problem hiding this comment.
This works well for Xcode versions 14 through to 16 on both ARM64 and x86_64.
Originally this bug (which I wrote) was missed because the test suite was incorrectly skipping this test.
|
FWIW, Edit: per @tmcgilchrist's proposal, submitted as separate PR: #13607. |
dra27
left a comment
There was a problem hiding this comment.
Nit in the bash script - I haven't actually reviewed
gasche
left a comment
There was a problem hiding this comment.
I morally approve of this change (even though I don't know anything about 29 and 19 as magic numbers for ARM64). I would suggest that you credit one of yourselves (Tim or Nick) as reviewers, and then we merge.
|
@gasche I introduced the error in #13500. x29 is the frame pointer register on ARM64. Copying my comment from that PR explains why x19 matters.
My analysis is this test was failing because the logic for parsing the |
5879a22 to
c359c12
Compare
Co-authored-by: Tim McGilchrist <timmcgil@gmail.com>
c359c12 to
803b283
Compare
I noticed that
testsuite/tests/unwind/driver.mlwas failing on my Mac. @tmcgilchrist identified and fixed the problem (wrong CFA register), which was related to my use of an old version of XCode, not exercised by the CI. This solution is his but with a tweak from me for thecheck-linker-version.shscript.