<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">You might want to use some ways to symbolize the stack trace. The most straight forward way might just be building clang and your Pass with debug info (e.g. -DCMAKE_BUILD_TYPE=Debug when invoking the cmake for building LLVM).<br class=""><div><br class=""></div><div>After that you can figure out the problem by either looking at the stack trace or using debuggers like gdb.</div><div><br class=""></div><div>-Min</div><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 14, 2021, at 1:03 PM, Omar Ahmed via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><div class="yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div dir="ltr" data-setdir="false" class="">Hi,</div><div dir="ltr" data-setdir="false" class=""><br class=""></div><div dir="ltr" data-setdir="false" class=""><b class="">I was trying to run a custom pass built as a shared library codeGen pass but it keeps giving me this error msg:</b></div><div dir="ltr" data-setdir="false" class=""><br class=""></div><div dir="ltr" data-setdir="false" class="">```<br class=""></div><div dir="ltr" data-setdir="false" class=""><div class="">fatal error: error in backend: Trying to construct TargetPassConfig without a target machine. Scheduling a CodeGen pass without a target triple set?<br class="">PLEASE submit a bug report to <a href="https://bugs.llvm.org/" class="">https://bugs.llvm.org/</a> and include the crash backtrace, preprocessed source, and associated run script.<br class="">Stack dump:<br class="">0.    Program arguments: clang-12 -target x86_64-unknown-linux-gnu -mcpu=x86_64 -O2 -fstack-protector-all -Xclang -load -Xclang ./libShadowStack.so -S test.c<br class="">1.    <eof> parser at end of file<br class="">Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x23)[0x7fd8a6747303]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x50)[0x7fd8a6745640]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys15CleanupOnSignalEm+0xdd)[0x7fd8a6746a5d]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xa4b72a)[0x7fd8a669972a]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xa4b6cb)[0x7fd8a66996cb]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm3sys7Process4ExitEib+0x27)[0x7fd8a67424d7]<br class="">clang-12[0x412bc0]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm18report_fatal_errorERKNS_5TwineEb+0x122)[0x7fd8a66a5102]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xa56fd6)[0x7fd8a66a4fd6]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xfbdd6e)[0x7fd8a6c0bd6e]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(+0xfc0bd3)[0x7fd8a6c0ebd3]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm17PMTopLevelManager12schedulePassEPNS_4PassE+0x17b)[0x7fd8a686ebdb]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm17PMTopLevelManager12schedulePassEPNS_4PassE+0x13d)[0x7fd8a686eb9d]<br class="">./libShadowStack.so(+0x11268)[0x7fd8a3ecf268]<br class="">./libShadowStack.so(_ZNSt17_Function_handlerIFvRKN4llvm18PassManagerBuilderERNS0_6legacy15PassManagerBaseEEPS7_E9_M_invokeERKSt9_Any_dataS3_S6_+0x49)[0x7fd8a3ed2b0e]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZNK4llvm18PassManagerBuilder17addExtensionsToPMENS0_16ExtensionPointTyERNS_6legacy15PassManagerBaseE+0xdf)[0x7fd8a758225f]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm18PassManagerBuilder25populateModulePassManagerERNS_6legacy15PassManagerBaseE+0xa71)[0x7fd8a7583991]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_19HeaderSearchOptionsERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsERKN4llvm10DataLayoutEPNSE_6ModuleENS_13BackendActionESt10unique_ptrINSE_17raw_pwrite_streamESt14default_deleteISM_EE+0x260c)[0x7fd8ac54cc5c]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(+0x180b42f)[0x7fd8ac80e42f]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang8ParseASTERNS_4SemaEbb+0x244)[0x7fd8ab931f14]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang14FrontendAction7ExecuteEv+0x48)[0x7fd8acec88c8]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x841)[0x7fd8ace7bbc1]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x582)[0x7fd8acf2c012]<br class="">clang-12(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x5fb)[0x41258b]<br class="">clang-12[0x410d3e]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(+0x1b96662)[0x7fd8acb99662]<br class="">/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1(_ZN4llvm20CrashRecoveryContext9RunSafelyENS_12function_refIFvvEEE+0xdd)[0x7fd8a66996ad]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZNK5clang6driver10CC1Command7ExecuteEN4llvm8ArrayRefINS2_8OptionalINS2_9StringRefEEEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPb+0x139)[0x7fd8acb98e49]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_+0x17f)[0x7fd8acb6edff]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZNK5clang6driver11Compilation11ExecuteJobsERKNS0_7JobListERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x77)[0x7fd8acb6f1b7]<br class="">/usr/lib/x86_64-linux-gnu/libclang-cpp.so.12(_ZN5clang6driver6Driver18ExecuteCompilationERNS0_11CompilationERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0xdc)[0x7fd8acb83bec]<br class="">clang-12(main+0x24cd)[0x4105fd]<br class="">/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fd8a4fa0840]<br class="">clang-12(_start+0x29)[0x40de49]<br class="">clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)<br class="">Ubuntu clang version 12.0.0-++20201209080817+199ec40e7bc-1~exp1~20201209191501.3386<br class="">Target: x86_64-unknown-linux-gnu<br class="">Thread model: posix<br class="">InstalledDir: /usr/bin<br class="">clang: note: diagnostic msg: <br class=""><div class="">********************</div><div class="">```</div><div class=""><br class=""></div><div dir="ltr" data-setdir="false" class=""><b class="">I register my pass with this code:</b></div><div dir="ltr" data-setdir="false" class=""><br class=""></div><div dir="ltr" data-setdir="false" class="">```<br class=""></div><div dir="ltr" data-setdir="false" class=""><div class="">static void registerMyPass(const PassManagerBuilder &Builder, PassManagerBase &PM) {<br class="">    PM.add(new ShadowStack());<br class="">}<br class="">static RegisterStandardPasses RegisterMyPass(PassManagerBuilder::EP_OptimizerLast, registerMyPass);</div><div class="">```</div><div class=""><br class=""></div><div dir="ltr" data-setdir="false" class=""><b class="">and I run my pass with this command line:</b></div><div dir="ltr" data-setdir="false" class=""><br class=""></div><div dir="ltr" data-setdir="false" class=""><span class="">clang-12 -target x86_64-unknown-linux-gnu -mcpu=x86_64 -O2 -fstack-protector-all -Xclang -load -Xclang ./libShadowStack.so -S test.c</span></div><div dir="ltr" data-setdir="false" class=""><span class=""><br class=""></span></div><div dir="ltr" data-setdir="false" class=""><span class=""><br class=""></span></div><div dir="ltr" data-setdir="false" class=""><b class=""><span class="">I can't understand what is the problem here, So any help would be appreciated.</span></b></div><div dir="ltr" data-setdir="false" class=""><b class=""><span class=""><br class=""></span></b></div><div dir="ltr" data-setdir="false" class=""><b class=""><span class="">Thanks in advance</span></b></div><div dir="ltr" data-setdir="false" class=""><b class=""><span class="">Omar Ahmed</span></b><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></div></div></div></div></div>_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></body></html>