diff options
Diffstat (limited to 'lang/intel-compute-runtime/files/patch-backtrace')
-rw-r--r-- | lang/intel-compute-runtime/files/patch-backtrace | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lang/intel-compute-runtime/files/patch-backtrace b/lang/intel-compute-runtime/files/patch-backtrace new file mode 100644 index 000000000000..69ce6f62f614 --- /dev/null +++ b/lang/intel-compute-runtime/files/patch-backtrace @@ -0,0 +1,37 @@ +Adjust for backtrace(3) on BSDs + +In file included from offline_compiler/utilities/linux/safety_caller_linux.cpp:10: +offline_compiler/utilities/linux/safety_guard_linux.h:36:25: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32] + backtraceSize = backtrace(addresses, callstackDepth); + ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ld: error: undefined symbol: backtrace +>>> referenced by safety_caller_linux.cpp +>>> CMakeFiles/ocloc.dir/utilities/linux/safety_caller_linux.cpp.o:(SafetyGuardLinux::sigAction(int, __siginfo*, void*)) +ld: error: undefined symbol: backtrace_symbols +>>> referenced by safety_caller_linux.cpp +>>> CMakeFiles/ocloc.dir/utilities/linux/safety_caller_linux.cpp.o:(SafetyGuardLinux::sigAction(int, __siginfo*, void*)) + +--- offline_compiler/utilities/linux/safety_guard_linux.h.orig 2019-11-22 15:41:47 UTC ++++ offline_compiler/utilities/linux/safety_guard_linux.h +@@ -33,7 +33,7 @@ class SafetyGuardLinux { + char **callstack; + int backtraceSize = 0; + +- backtraceSize = backtrace(addresses, callstackDepth); ++ backtraceSize = (int)backtrace(addresses, callstackDepth); + callstack = backtrace_symbols(addresses, backtraceSize); + + for (int i = 0; i < backtraceSize; ++i) { +--- offline_compiler/CMakeLists.txt.orig 2019-11-29 14:23:34 UTC ++++ offline_compiler/CMakeLists.txt +@@ -124,6 +124,9 @@ endif() + + if(UNIX) + target_link_libraries(ocloc dl pthread) ++ if(CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|NetBSD|OpenBSD") ++ target_link_libraries(ocloc execinfo) ++ endif() + endif() + + target_link_libraries(ocloc elflib) |