Commit 28866a75 authored by Sylvestre Ledru's avatar Sylvestre Ledru

rebase of the patches

parent ea43b18e
......@@ -2,19 +2,26 @@
clang/lib/Driver/ToolChains.cpp | 2 ++
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~svn342269/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -17,6 +17,7 @@
--- llvm-toolchain-snapshot_8~svn344157.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++ llvm-toolchain-snapshot_8~svn344157/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -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 "Linux.h"
#include "clang/Basic/VirtualFileSystem.h"
+#include "clang/Basic/Version.h"
#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
#include "clang/Driver/Compilation.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);
break;
}
......
......@@ -7,11 +7,11 @@ sure their ABI stays in sync.
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~svn342269/libcxxabi/src/cxa_exception.cpp
@@ -262,15 +262,16 @@ __cxa_throw(void *thrown_object, std::ty
--- llvm-toolchain-snapshot_8~svn344157.orig/libcxxabi/src/cxa_exception.cpp
+++ llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.cpp
@@ -277,15 +277,16 @@ __cxa_throw(void *thrown_object, std::ty
#ifdef __USING_SJLJ_EXCEPTIONS__
_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
/*
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
// behavior. They likely can't since the only way to 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;
}
}
@@ -590,8 +595,10 @@ void __cxa_rethrow() {
@@ -605,8 +610,10 @@ void __cxa_rethrow() {
}
#ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
......@@ -54,7 +54,7 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
#endif
// 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;
#ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader);
......@@ -66,13 +66,13 @@ Index: llvm-toolchain-snapshot_8~svn342269/libcxxabi/src/cxa_exception.cpp
#endif
// Some sort of unwinding error. Note that terminate is a handler.
__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~svn342269/libcxxabi/src/cxa_exception.hpp
@@ -24,6 +24,45 @@ static const uint64_t kOurExceptionClass
static const uint64_t kOurDependentExceptionClass = 0x434C4E47432B2B01; // CLNGC++\1
static const uint64_t get_vendor_and_language = 0xFFFFFFFFFFFFFF00; // mask for CLNGC++
--- llvm-toolchain-snapshot_8~svn344157.orig/libcxxabi/src/cxa_exception.hpp
+++ llvm-toolchain-snapshot_8~svn344157/libcxxabi/src/cxa_exception.hpp
@@ -28,6 +28,45 @@ uint64_t __getExceptionClass (const _Un
void __setExceptionClass ( _Unwind_Exception*, uint64_t);
bool __isOurExceptionClass(const _Unwind_Exception*);
+#if LIBCXXABI_ARM_EHABI
+// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment