Skip to content

Conversation

@xal-0
Copy link
Member

@xal-0 xal-0 commented Jun 20, 2025

Handy for local development on mac. Apple's addrsan changes the version check symbol that our LLVM looks for, so we disable this check (it seems fine).

@xal-0 xal-0 added the system:apple silicon Affects Apple Silicon only (Darwin/ARM64) - e.g. M1 and other M-series chips label Jun 20, 2025
@Keno
Copy link
Member

Keno commented Jun 21, 2025

Could you explain the issue in a little more detail? Is this because we're linking system provided asan runtime?

@xal-0
Copy link
Member Author

xal-0 commented Jun 23, 2025

Yes. On my machine it links /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/17/lib/darwin/libclang_rt.asan_osx_dynamic.dylib, which has the symbol ___asan_version_mismatch_check_apple_clang_1700. AddressSanitizerPass with InsertVersionCheck=true adds a function that wants ___asan_version_mismatch_check_v8 from our version of LLVM.

@Keno
Copy link
Member

Keno commented Jun 23, 2025

It doesn't seem wise to randomly mix and match sanitizer runtime versions. I think we need to standardize on a sanitizer version and force those to be linked. This may mean that in sanitize mode, we need to build with our own clang. The other interaction we need to think about is that we do have sanitizer tags for jlls. We don't currently use them much, but in principle this needs to be coordinated with yggdrasil.

@vtjnash vtjnash closed this Sep 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

system:apple silicon Affects Apple Silicon only (Darwin/ARM64) - e.g. M1 and other M-series chips

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants