[llvm-dev] undefined symbol EnableABIBreakingChecks

Frank Winter via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 22 10:02:58 PDT 2019


Hi,

when using the "Debug" build of LLVM 8.0 my application which uses the 
LLVM builder and MCJIT components fails at startup with:

symbol lookup error: ./main: undefined symbol: 
_ZN4llvm23EnableABIBreakingChecksE

(unmangled: llvm::EnableABIBreakingChecks)

The application works fine with the "Release" build of LLVM 8.0! (Right 
now, I need the Debug build for access to dump() ).

The application works also fine with both the Debug or Release build 
with LLVM 6.0.

Looking for differences regards this variable didn't point me in any 
direction:

A simple grep over the LLVM source gives the same output for LLVM 6.0 
and LLVM 8.0:

include/llvm/Config/abi-breaking.h.cmake:extern int EnableABIBreakingChecks;
include/llvm/Config/abi-breaking.h.cmake:__attribute__((weak, visibility 
("hidden"))) int *VerifyEnableABIBreakingChecks = &EnableABIBreakingChecks;
lib/Support/Error.cpp:int EnableABIBreakingChecks;


What am I missing here?


Best,

Frank










More information about the llvm-dev mailing list