fix to find symbols for when arm64 is missing from the tbd slice #50

Merged
tdejager merged 1 commit from fix-symbols-for-arm46 into 1600.0.11.8 2026-04-05 03:33:49 -05:00
tdejager commented 2026-04-03 13:11:38 -05:00 (Migrated from github.com)

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 .dylibs should 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.

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 `.dylibs` should 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.
Un1q32 commented 2026-04-03 19:49:58 -05:00 (Migrated from github.com)

I can confirm this fixes the issues with both arm64e and x86_64h.

I can confirm this fixes the issues with both arm64e and x86_64h.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
miles/apple-libtapi!50
No description provided.