[llvm] [ORC] Use __unw_add_dynamic_eh_frame_section/__unw_remove_dynamic_eh_ frame_section in RegisterEHFrames.cpp (PR #212260)

Devon Loehr via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 09:00:23 PDT 2026


DKLoehr wrote:

We've started to see link failures in chromium when building clang against older versions of the mac SDK:

```
[5358/6057] Linking CXX executable bin/lli
FAILED: bin/lli 
: && /Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build-tools/pinned-clang/bin/clang++ -DLIBXML_STATIC -fcrash-diagnostics-dir=/Volumes/Work/s/w/ir/cache/builder/src/out/clang-crashreports -DLLVM_FORCE_HEAD_REVISION -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -Xclang -fno-pch-timestamp -O3 -DNDEBUG -arch arm64 -isysroot /Volumes/Work/s/w/ir/cache/xcode_ios_14c18.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=10.12 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -fno-pie -fuse-ld=lld -Wl,--color-diagnostics     -Wl,-dead_strip -rdynamic tools/lli/CMakeFiles/lli.dir/lli.cpp.o -o bin/lli  -Wl,-rpath, at loader_path/../lib  lib/libLLVMCodeGen.a  lib/libLLVMCore.a  lib/libLLVMExecutionEngine.a  lib/libLLVMIRReader.a  lib/libLLVMInterpreter.a  lib/libLLVMJITLink.a  lib/libLLVMMC.a  lib/libLLVMMCJIT.a  lib/libLLVMObject.a  lib/libLLVMOrcJIT.a  lib/libLLVMOrcDebugging.a  lib/libLLVMOrcShared.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMPasses.a  lib/libLLVMRuntimeDyld.a  lib/libLLVMSelectionDAG.a  lib/libLLVMSupport.a  lib/libLLVMTarget.a  lib/libLLVMTargetParser.a  lib/libLLVMTransformUtils.a  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMOrcJIT.a  lib/libLLVMExecutionEngine.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMRuntimeDyld.a  lib/libLLVMWindowsDriver.a  lib/libLLVMOption.a  lib/libLLVMOrcShared.a  lib/libLLVMPasses.a  lib/libLLVMCoroutines.a  lib/libLLVMHipStdPar.a  lib/libLLVMipo.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMIRPrinter.a  lib/libLLVMInstrumentation.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMTarget.a  lib/libLLVMVectorize.a  lib/libLLVMTransformUtils.a  lib/libLLVMSandboxIR.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMObject.a  lib/libLLVMIRReader.a  lib/libLLVMAsmParser.a  lib/libLLVMBitReader.a  lib/libLLVMTextAPI.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMMCParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMMCDisassembler.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  lib/libLLVMDemangle.a  -lm  /Volumes/Work/s/w/ir/cache/xcode_ios_14c18.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libz.tbd  /Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build-tools/zstd-1.5.5/cmake_build/install/lib/libzstd.a && :
ld64.lld: warning: -no_pie ignored for arm64
ld64.lld: error: undefined symbol: __unw_add_dynamic_eh_frame_section
>>> referenced by lib/libLLVMOrcTargetProcess.a(RegisterEHFrames.cpp.o):(symbol llvm::orc::registerEHFrameSection(void const*, unsigned long)+0x38)
>>> referenced by lib/libLLVMOrcTargetProcess.a(RegisterEHFrames.cpp.o):(symbol llvm::orc::registerEHFrameSection(void const*, unsigned long)+0x4)
>>> referenced by lib/libLLVMOrcTargetProcess.a(RegisterEHFrames.cpp.o):(symbol llvm::orc::registerEHFrameSection(void const*, unsigned long)+0x0)
>>> referenced 7 more times
```

[Chromium bug](https://crbug.com/567920093) for reference.

It seems like these early versions don't export the symbols yet.

https://github.com/llvm/llvm-project/pull/212260


More information about the llvm-commits mailing list