[flang-commits] [flang] Backtrace support for flang (PR #118179)
Brad Smith via flang-commits
flang-commits at lists.llvm.org
Fri Jan 31 02:44:07 PST 2025
brad0 wrote:
It looks like the runtime should link against libexecinfo on *BSD's. Backtrace_LIBRARY is filed in. I am not sure of how to go about linking with the runtime in runtime/CMakeLists.txt
```
FAILED: tools/flang/unittests/Runtime/FlangRuntimeTests
: && /usr/bin/c++ -pipe -fno-ret-protector -fPIC -fno-semantic-interposition -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 -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion -Wcovered-switch-default -Wno-nested-anon-types -O2 -Wl,--color-diagnostics -Wl,--gc-sections -Xlinker --dependency-file=tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/link.d tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/AccessTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Allocatable.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/ArrayConstructor.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/BufferTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/CharacterTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/CommandTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Complex.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/CrashHandlerFixture.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Derived.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/ExternalIOTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Format.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Inquiry.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/ListInputTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/LogicalFormatTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Matmul.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/MatmulTranspose.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/MiscIntrinsic.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Namelist.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Numeric.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/NumericalFormatTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Pointer.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Ragged.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Random.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Reduction.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/RuntimeCrashTest.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Stop.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Support.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Time.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/TemporaryStack.cpp.o tools/flang/unittests/Runtime/CMakeFiles/FlangRuntimeTests.dir/Transformational.cpp.o -o tools/flang/unittests/Runtime/FlangRuntimeTests -Wl,-z,origin,-rpath,/home/brad/tmp/llvm-build/lib lib/libllvm_gtest_main.a lib/libllvm_gtest.a -lpthread lib/libFortranRuntime.a -lpthread lib/libFortranDecimal.a lib/libclang-cpp.so.21.0git lib/libLLVM.so.21.0git -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
ld: error: undefined symbol: backtrace
>>> referenced by stop.cpp
>>> stop.cpp.o:(PrintBacktrace()) in archive lib/libFortranRuntime.a
>>> did you mean: backtrace_
>>> defined in: lib/libFortranRuntime.a(stop.cpp.o)
ld: error: undefined symbol: backtrace_symbols
>>> referenced by stop.cpp
>>> stop.cpp.o:(PrintBacktrace()) in archive lib/libFortranRuntime.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
```
https://github.com/llvm/llvm-project/pull/118179
More information about the flang-commits
mailing list