[all-commits] [llvm/llvm-project] 05a0d9: [orc][mach-o] Fix mixing objc and swift code in a ...
Ben Langmuir via All-commits
all-commits at lists.llvm.org
Fri Nov 3 08:32:23 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 05a0d9441630ff417d6e4185b526478967d1fe15
https://github.com/llvm/llvm-project/commit/05a0d9441630ff417d6e4185b526478967d1fe15
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2023-11-03 (Fri, 03 Nov 2023)
Changed paths:
A compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
A compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[orc][mach-o] Fix mixing objc and swift code in a single JITDylib (#69258)
The system linker merges __objc_imageinfo flags values to select a
compatible set of flags using the minimum swift version and only
erroring on incompatible ABIs. Match that behaviour in the orc macho
platform. One wrinkle is that the JIT can add new objects after the
dylib is running code. In that case we only check for known incompatible
flags and ignore the swift version. It's too late to change the flags at
that point and swift version is unlikely to change runtime behaviour in
practice.
More information about the All-commits
mailing list