[PATCH] D27143: Fix detection of backtrace() availability on FreeBSD

Ed Maste via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 12 07:03:44 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL300062: Fix detection of backtrace() availability on FreeBSD (authored by emaste).

Changed prior to commit:
  https://reviews.llvm.org/D27143?vs=93490&id=94963#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D27143

Files:
  llvm/trunk/cmake/config-ix.cmake
  llvm/trunk/include/llvm/Config/config.h.cmake
  llvm/trunk/lib/Support/CMakeLists.txt
  llvm/trunk/lib/Support/Unix/Signals.inc


Index: llvm/trunk/lib/Support/CMakeLists.txt
===================================================================
--- llvm/trunk/lib/Support/CMakeLists.txt
+++ llvm/trunk/lib/Support/CMakeLists.txt
@@ -9,6 +9,9 @@
   if( HAVE_LIBDL )
     set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
   endif()
+  if( HAVE_BACKTRACE )
+    set(system_libs ${system_libs} ${Backtrace_LIBRARIES})
+  endif()
   if(LLVM_ENABLE_TERMINFO)
     if(HAVE_TERMINFO)
       set(system_libs ${system_libs} ${TERMINFO_LIBS})
@@ -140,7 +143,7 @@
   Windows
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
-
+  ${Backtrace_INCLUDE_DIRS}
   LINK_LIBS ${system_libs}
   )
 
Index: llvm/trunk/lib/Support/Unix/Signals.inc
===================================================================
--- llvm/trunk/lib/Support/Unix/Signals.inc
+++ llvm/trunk/lib/Support/Unix/Signals.inc
@@ -25,8 +25,8 @@
 #include "llvm/Support/raw_ostream.h"
 #include <algorithm>
 #include <string>
-#if HAVE_EXECINFO_H
-# include <execinfo.h>         // For backtrace().
+#ifdef HAVE_BACKTRACE
+# include BACKTRACE_HEADER         // For backtrace().
 #endif
 #if HAVE_SIGNAL_H
 #include <signal.h>
Index: llvm/trunk/include/llvm/Config/config.h.cmake
===================================================================
--- llvm/trunk/include/llvm/Config/config.h.cmake
+++ llvm/trunk/include/llvm/Config/config.h.cmake
@@ -16,6 +16,8 @@
 /* Define to 1 if you have the `backtrace' function. */
 #cmakedefine HAVE_BACKTRACE ${HAVE_BACKTRACE}
 
+#define BACKTRACE_HEADER <${BACKTRACE_HEADER}>
+
 /* Define to 1 if you have the <CrashReporterClient.h> header file. */
 #cmakedefine HAVE_CRASHREPORTERCLIENT_H
 
Index: llvm/trunk/cmake/config-ix.cmake
===================================================================
--- llvm/trunk/cmake/config-ix.cmake
+++ llvm/trunk/cmake/config-ix.cmake
@@ -46,7 +46,6 @@
 check_include_file(dirent.h HAVE_DIRENT_H)
 check_include_file(dlfcn.h HAVE_DLFCN_H)
 check_include_file(errno.h HAVE_ERRNO_H)
-check_include_file(execinfo.h HAVE_EXECINFO_H)
 check_include_file(fcntl.h HAVE_FCNTL_H)
 check_include_file(inttypes.h HAVE_INTTYPES_H)
 check_include_file(link.h HAVE_LINK_H)
@@ -165,7 +164,9 @@
 
 # function checks
 check_symbol_exists(arc4random "stdlib.h" HAVE_DECL_ARC4RANDOM)
-check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
+find_package(Backtrace)
+set(HAVE_BACKTRACE ${Backtrace_FOUND})
+set(BACKTRACE_HEADER ${Backtrace_HEADER})
 check_symbol_exists(_Unwind_Backtrace "unwind.h" HAVE__UNWIND_BACKTRACE)
 check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
 check_symbol_exists(sysconf unistd.h HAVE_SYSCONF)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27143.94963.patch
Type: text/x-patch
Size: 2652 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170412/82b9bfa8/attachment.bin>


More information about the llvm-commits mailing list