[libcxxabi] r235965 - libc++abi: work around layering violation

Saleem Abdulrasool compnerd at compnerd.org
Mon Apr 27 19:52:48 PDT 2015


Author: compnerd
Date: Mon Apr 27 21:52:47 2015
New Revision: 235965

URL: http://llvm.org/viewvc/llvm-project?rev=235965&view=rev
Log:
libc++abi: work around layering violation

This papers over a layering violation currently between libc++abi and libunwind.
It reaches into the sources to get the declaration of an ABI defined function.
This should allow the ARM buildbot to continue building libc++abi again.

Modified:
    libcxxabi/trunk/CMakeLists.txt
    libcxxabi/trunk/src/cxa_personality.cpp

Modified: libcxxabi/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/CMakeLists.txt?rev=235965&r1=235964&r2=235965&view=diff
==============================================================================
--- libcxxabi/trunk/CMakeLists.txt (original)
+++ libcxxabi/trunk/CMakeLists.txt Mon Apr 27 21:52:47 2015
@@ -302,6 +302,10 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LI
 include_directories(include)
 if (LIBCXXABI_USE_LLVM_UNWINDER OR ${LLVM_NATIVE_ARCH} MATCHES ARM)
   include_directories(${LLVM_MAIN_SRC_DIR}/projects/libunwind/include)
+  # TODO: libunwind does not place libunwind_ext.h into include, so we need to
+  # reach into its source directory.  This is primarily for
+  # _Unwind_VRS_Interpret, which is part of ARM EHABI, and should be in unwind.h
+  include_directories(${LLVM_MAIN_SRC_DIR}/projects/libunwind/src)
 endif ()
 
 # Add source code. This also contains all of the logic for deciding linker flags

Modified: libcxxabi/trunk/src/cxa_personality.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_personality.cpp?rev=235965&r1=235964&r2=235965&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_personality.cpp (original)
+++ libcxxabi/trunk/src/cxa_personality.cpp Mon Apr 27 21:52:47 2015
@@ -24,7 +24,7 @@
 #include "unwind.h"
 
 #if LIBCXXABI_ARM_EHABI
-#include "Unwind/libunwind_ext.h"
+#include "libunwind_ext.h"
 #endif
 
 /*





More information about the cfe-commits mailing list