fix to find symbols for when arm64 is missing from the tbd slice #50
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
miles/apple-libtapi!50
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-symbols-for-arm46"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As was explained in issue: #49. When the arm64 is missing from the slice that contains the architectures in the tbd files, using this version of libtapi gives you back an empty symbol set. De system
.dylibsshould still contain the arm64 compatible code though, so we just use the names from the arm64e slices.We specifically were noticing that on conda-forge simple c compilation was failing because of this. So we initially made a patch there. However, after some discussion in the issue and decompilation with claude, we decided another similar fix could be upstreamed.
I have a reproducer running, you need https://pixi.sh though to run it. That basically has a failing and working situation for the conda-forge toolchain with libtapi with this fix included. See: https://github.com/tdejager/tapi-arm64e-repro. If you want any more tests please tell me.
The fixed tapi seems to work in the reproducer though, the repository has small instructions with how to run it, again you need pixi installed.
I can confirm this fixes the issues with both arm64e and x86_64h.