This is an archive of the discontinued LLVM Phabricator instance.

[compiler-rt][Darwin] Add arm64 to simulator platforms
ClosedPublic

Authored by thieta on Feb 2 2022, 1:10 AM.

Details

Summary

I was looking around and noticed that builtins for iossim, tvossim
and watchossim was missing arm64 builds, while apple's clang
toolchain ship with these. After a bit of searching around it just
seems like these are not listed correctly in CMake to be enabled.

I enabled just arm64 since I saw that Apple clang didn't include
arm64e.

Diff Detail

Event Timeline

thieta created this revision.Feb 2 2022, 1:10 AM
thieta requested review of this revision.Feb 2 2022, 1:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 2 2022, 1:10 AM
Herald added a subscriber: Restricted Project. · View Herald Transcript
t.p.northover accepted this revision.Feb 2 2022, 1:31 AM
t.p.northover added a subscriber: t.p.northover.

Looks like it matches what we build with Xcode so I think this is OK. I dread to think what Xcode does for watchossim does though, that should totally be arm64_32, but it's not.

This revision is now accepted and ready to land.Feb 2 2022, 1:31 AM
This revision was automatically updated to reflect the committed changes.

I dread to think what Xcode does for watchossim does though, that should totally be arm64_32, but it's not.

Isn't the simulator environment just plain arm64 even for watchos? On the line above (line 126) there's already arm64_32 in DARWIN_watchos_BUILTIN_ALL_POSSIBLE_ARCHS.

I'm afraid I've had to revert this (with becb29aeb6a2) because it was causing CI failures: https://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-expensive/21780/console. It looks like older Xcodes didn't allow arm64 builds in the simulator SDK (because M1 Macs were secret at the time I assume). It might be possible to add logic to detect this, I'll see what we've got internally.

thieta added a subscriber: tstellar.Feb 3 2022, 2:08 AM

I'm afraid I've had to revert this (with becb29aeb6a2) because it was causing CI failures: https://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-expensive/21780/console. It looks like older Xcodes didn't allow arm64 builds in the simulator SDK (because M1 Macs were secret at the time I assume). It might be possible to add logic to detect this, I'll see what we've got internally.

That's unfortunate - but not unexpected. Let me know if there is anything I can help with. This should also be reverted from the 14.x branch then @tstellar - since it causes issues with older Xcodes.