rebase of the patches

This commit is contained in:
Sylvestre Ledru 2018-10-10 22:52:12 +02:00
parent ea43b18ea1
commit 28866a75ad
2 changed files with 26 additions and 19 deletions

View File

@ -2,19 +2,26 @@
clang/lib/Driver/ToolChains.cpp | 2 ++ clang/lib/Driver/ToolChains.cpp | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
Index: llvm-toolchain-snapshot_8~svn342269/clang/lib/Driver/ToolChains/Gnu.cpp Index: llvm-toolchain-snapshot_8~svn344157/clang/lib/Driver/ToolChains/Gnu.cpp
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_8~svn342269.orig/clang/lib/Driver/ToolChains/Gnu.cpp --- llvm-toolchain-snapshot_8~svn344157.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++ llvm-toolchain-snapshot_8~svn342269/clang/lib/Driver/ToolChains/Gnu.cpp +++ llvm-toolchain-snapshot_8~svn344157/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -17,6 +17,7 @@ @@ -1,4 +1,5 @@
-//===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- C++ -*-===//
+//===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,6 +17,7 @@
#include "Arch/SystemZ.h"
#include "CommonArgs.h" #include "CommonArgs.h"
#include "Linux.h" #include "Linux.h"
#include "clang/Basic/VirtualFileSystem.h"
+#include "clang/Basic/Version.h" +#include "clang/Basic/Version.h"
#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX #include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
#include "clang/Driver/Compilation.h" #include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h" #include "clang/Driver/Driver.h"
@@ -2437,6 +2438,7 @@ void Generic_GCC::AddClangCXXStdlibInclu @@ -2438,6 +2440,7 @@ void Generic_GCC::AddClangCXXStdlibInclu
addLibStdCxxIncludePaths(DriverArgs, CC1Args); addLibStdCxxIncludePaths(DriverArgs, CC1Args);
break; break;
} }

View File

@ -7,11 +7,11 @@ sure their ABI stays in sync.
No known upstream bug about this. No known upstream bug about this.
Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp Index: llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.cpp
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_8~svn342269.orig/libcxxabi/src/cxa_exception.cpp --- llvm-toolchain-snapshot_8~svn344157.orig/libcxxabi/src/cxa_exception.cpp
+++ llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp +++ llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.cpp
@@ -262,15 +262,16 @@ __cxa_throw(void *thrown_object, std::ty @@ -277,15 +277,16 @@ __cxa_throw(void *thrown_object, std::ty
#ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&exception_header->unwindHeader); _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
@ -30,7 +30,7 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
// 2.5.3 Exception Handlers // 2.5.3 Exception Handlers
/* /*
The adjusted pointer is computed by the personality routine during phase 1 The adjusted pointer is computed by the personality routine during phase 1
@@ -533,7 +534,11 @@ void __cxa_end_catch() { @@ -548,7 +549,11 @@ void __cxa_end_catch() {
// to touch a foreign exception in any way, that is undefined // to touch a foreign exception in any way, that is undefined
// behavior. They likely can't since the only way to catch // behavior. They likely can't since the only way to catch
// a foreign exception is with catch (...)! // a foreign exception is with catch (...)!
@ -42,7 +42,7 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
globals->caughtExceptions = 0; globals->caughtExceptions = 0;
} }
} }
@@ -590,8 +595,10 @@ void __cxa_rethrow() { @@ -605,8 +610,10 @@ void __cxa_rethrow() {
} }
#ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&exception_header->unwindHeader); _Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
@ -54,7 +54,7 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
#endif #endif
// If we get here, some kind of unwinding error has occurred. // If we get here, some kind of unwinding error has occurred.
@@ -715,8 +722,10 @@ __cxa_rethrow_primary_exception(void* th @@ -730,8 +737,10 @@ __cxa_rethrow_primary_exception(void* th
dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup; dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup;
#ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader); _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader);
@ -66,13 +66,13 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
#endif #endif
// Some sort of unwinding error. Note that terminate is a handler. // Some sort of unwinding error. Note that terminate is a handler.
__cxa_begin_catch(&dep_exception_header->unwindHeader); __cxa_begin_catch(&dep_exception_header->unwindHeader);
Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.hpp Index: llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.hpp
=================================================================== ===================================================================
--- llvm-toolchain-snapshot_8~svn342269.orig/libcxxabi/src/cxa_exception.hpp --- llvm-toolchain-snapshot_8~svn344157.orig/libcxxabi/src/cxa_exception.hpp
+++ llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.hpp +++ llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.hpp
@@ -24,6 +24,45 @@ static const uint64_t kOurExceptionClass @@ -28,6 +28,45 @@ uint64_t __getExceptionClass (const _Un
static const uint64_t kOurDependentExceptionClass = 0x434C4E47432B2B01; // CLNGC++\1 void __setExceptionClass ( _Unwind_Exception*, uint64_t);
static const uint64_t get_vendor_and_language = 0xFFFFFFFFFFFFFF00; // mask for CLNGC++ bool __isOurExceptionClass(const _Unwind_Exception*);
+#if LIBCXXABI_ARM_EHABI +#if LIBCXXABI_ARM_EHABI
+// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h) +// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h)