Commit 7ca89c66 authored by Sylvestre Ledru's avatar Sylvestre Ledru

rebase of the patch

parent 493ad86c
Index: llvm-toolchain-7_7.1.0~svn353565/clang/lib/Basic/FileManager.cpp
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Basic/FileManager.cpp
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/clang/lib/Basic/FileManager.cpp
+++ llvm-toolchain-7_7.1.0~svn353565/clang/lib/Basic/FileManager.cpp
@@ -501,6 +501,12 @@ void FileManager::invalidateCache(const
--- llvm-toolchain-snapshot_9~svn353687.orig/clang/lib/Basic/FileManager.cpp
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Basic/FileManager.cpp
@@ -458,6 +458,12 @@ void FileManager::invalidateCache(const
UniqueRealFiles.erase(Entry->getUniqueID());
}
......@@ -15,11 +15,11 @@ Index: llvm-toolchain-7_7.1.0~svn353565/clang/lib/Basic/FileManager.cpp
void FileManager::GetUniqueIDMapping(
SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
UIDToFiles.clear();
Index: llvm-toolchain-7_7.1.0~svn353565/lldb/include/lldb/lldb-defines.h
Index: llvm-toolchain-snapshot_9~svn353687/lldb/include/lldb/lldb-defines.h
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/lldb/include/lldb/lldb-defines.h
+++ llvm-toolchain-7_7.1.0~svn353565/lldb/include/lldb/lldb-defines.h
@@ -28,6 +28,11 @@
--- llvm-toolchain-snapshot_9~svn353687.orig/lldb/include/lldb/lldb-defines.h
+++ llvm-toolchain-snapshot_9~svn353687/lldb/include/lldb/lldb-defines.h
@@ -27,6 +27,11 @@
#define INT32_MAX 2147483647
#endif
......@@ -31,23 +31,11 @@ Index: llvm-toolchain-7_7.1.0~svn353565/lldb/include/lldb/lldb-defines.h
#if !defined(UINT32_MAX)
#define UINT32_MAX 4294967295U
#endif
Index: llvm-toolchain-7_7.1.0~svn353565/lib/Support/Unix/Path.inc
Index: llvm-toolchain-snapshot_9~svn353687/tools/dsymutil/DwarfLinker.cpp
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/lib/Support/Unix/Path.inc
+++ llvm-toolchain-7_7.1.0~svn353565/lib/Support/Unix/Path.inc
@@ -49,6 +49,7 @@
// For GNU Hurd
#if defined(__GNU__) && !defined(PATH_MAX)
# define PATH_MAX 4096
+# define MAXPATHLEN 4096
#endif
#include <sys/types.h>
Index: llvm-toolchain-7_7.1.0~svn353565/tools/dsymutil/DwarfLinker.cpp
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/tools/dsymutil/DwarfLinker.cpp
+++ llvm-toolchain-7_7.1.0~svn353565/tools/dsymutil/DwarfLinker.cpp
@@ -101,6 +101,11 @@
--- llvm-toolchain-snapshot_9~svn353687.orig/tools/dsymutil/DwarfLinker.cpp
+++ llvm-toolchain-snapshot_9~svn353687/tools/dsymutil/DwarfLinker.cpp
@@ -100,6 +100,11 @@
#include <utility>
#include <vector>
......@@ -59,10 +47,10 @@ Index: llvm-toolchain-7_7.1.0~svn353565/tools/dsymutil/DwarfLinker.cpp
namespace llvm {
namespace dsymutil {
Index: llvm-toolchain-7_7.1.0~svn353565/polly/lib/External/ppcg/cuda_common.c
Index: llvm-toolchain-snapshot_9~svn353687/polly/lib/External/ppcg/cuda_common.c
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/polly/lib/External/ppcg/cuda_common.c
+++ llvm-toolchain-7_7.1.0~svn353565/polly/lib/External/ppcg/cuda_common.c
--- llvm-toolchain-snapshot_9~svn353687.orig/polly/lib/External/ppcg/cuda_common.c
+++ llvm-toolchain-snapshot_9~svn353687/polly/lib/External/ppcg/cuda_common.c
@@ -15,6 +15,11 @@
#include "cuda_common.h"
#include "ppcg.h"
......@@ -75,19 +63,3 @@ Index: llvm-toolchain-7_7.1.0~svn353565/polly/lib/External/ppcg/cuda_common.c
/* Open the host .cu file and the kernel .hu and .cu files for writing.
* Add the necessary includes.
*/
Index: llvm-toolchain-7_7.1.0~svn353565/clang/lib/Frontend/ModuleDependencyCollector.cpp
===================================================================
--- llvm-toolchain-7_7.1.0~svn353565.orig/clang/lib/Frontend/ModuleDependencyCollector.cpp
+++ llvm-toolchain-7_7.1.0~svn353565/clang/lib/Frontend/ModuleDependencyCollector.cpp
@@ -99,6 +99,11 @@ struct ModuleDependencyMMCallbacks : pub
}
+// For GNU Hurd
+#if defined(__GNU__) && !defined(PATH_MAX)
+# define PATH_MAX 4096
+#endif
+
// TODO: move this to Support/Path.h and check for HAVE_REALPATH?
static bool real_path(StringRef SrcPath, SmallVectorImpl<char> &RealPath) {
#ifdef LLVM_ON_UNIX
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/CMakeLists.txt
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/CMakeLists.txt
===================================================================
--- llvm-toolchain-snapshot_9~svn353038.orig/clang/lib/Driver/CMakeLists.txt
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/CMakeLists.txt
--- llvm-toolchain-snapshot_9~svn353687.orig/clang/lib/Driver/CMakeLists.txt
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/CMakeLists.txt
@@ -49,6 +49,7 @@ add_clang_library(clangDriver
ToolChains/HIP.cpp
ToolChains/Hexagon.cpp
......@@ -10,10 +10,10 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/CMakeLists.txt
ToolChains/Linux.cpp
ToolChains/MipsLinux.cpp
ToolChains/MinGW.cpp
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/Driver.cpp
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/Driver.cpp
===================================================================
--- llvm-toolchain-snapshot_9~svn353038.orig/clang/lib/Driver/Driver.cpp
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/Driver.cpp
--- llvm-toolchain-snapshot_9~svn353687.orig/clang/lib/Driver/Driver.cpp
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/Driver.cpp
@@ -26,6 +26,7 @@
#include "ToolChains/Haiku.h"
#include "ToolChains/Hexagon.h"
......@@ -22,7 +22,7 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/Driver.cpp
#include "ToolChains/Lanai.h"
#include "ToolChains/Linux.h"
#include "ToolChains/MSP430.h"
@@ -4562,6 +4563,9 @@ const ToolChain &Driver::getToolChain(co
@@ -4561,6 +4562,9 @@ const ToolChain &Driver::getToolChain(co
case llvm::Triple::FreeBSD:
TC = llvm::make_unique<toolchains::FreeBSD>(*this, Target, Args);
break;
......@@ -32,11 +32,11 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/Driver.cpp
case llvm::Triple::Minix:
TC = llvm::make_unique<toolchains::Minix>(*this, Target, Args);
break;
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Clang.cpp
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/Clang.cpp
===================================================================
--- llvm-toolchain-snapshot_9~svn353038.orig/clang/lib/Driver/ToolChains/Clang.cpp
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Clang.cpp
@@ -534,7 +534,7 @@ static bool useFramePointerForTargetByDe
--- llvm-toolchain-snapshot_9~svn353687.orig/clang/lib/Driver/ToolChains/Clang.cpp
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/Clang.cpp
@@ -535,7 +535,7 @@ static bool useFramePointerForTargetByDe
}
if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI ||
......@@ -45,10 +45,10 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Clang.cpp
switch (Triple.getArch()) {
// Don't use a frame pointer on linux if optimizing for certain targets.
case llvm::Triple::mips64:
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Gnu.cpp
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/Gnu.cpp
===================================================================
--- llvm-toolchain-snapshot_9~svn353038.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Gnu.cpp
--- llvm-toolchain-snapshot_9~svn353687.orig/clang/lib/Driver/ToolChains/Gnu.cpp
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -521,6 +521,18 @@ void tools::gnutools::Linker::ConstructJ
CmdArgs.push_back("--wrap=pthread_create");
......@@ -78,7 +78,7 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Gnu.cpp
static const char *const X32LibDirs[] = {"/libx32"};
static const char *const X86LibDirs[] = {"/lib32", "/lib"};
static const char *const X86Triples[] = {
@@ -1906,6 +1919,8 @@ void Generic_GCC::GCCInstallationDetecto
@@ -1906,7 +1919,9 @@ void Generic_GCC::GCCInstallationDetecto
"i586-redhat-linux", "i386-redhat-linux", "i586-suse-linux",
"i486-slackware-linux", "i686-montavista-linux", "i586-linux-gnu",
"i686-linux-android", "i386-gnu", "i486-gnu",
......@@ -88,10 +88,11 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/Gnu.cpp
+ "i386-kfreebsd-gnu" };
static const char *const MIPSLibDirs[] = {"/lib"};
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/KFreeBSD.cpp
static const char *const MIPSTriples[] = {
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/KFreeBSD.cpp
===================================================================
--- /dev/null
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/KFreeBSD.cpp
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/KFreeBSD.cpp
@@ -0,0 +1,459 @@
+//===--- KFreeBSD.cpp - kFreeBSD ToolChain Implementations --------*- C++ -*-===//
+//
......@@ -552,10 +553,10 @@ Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/KFreeBSD.
+ return Res;
+}
+
Index: llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/KFreeBSD.h
Index: llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/KFreeBSD.h
===================================================================
--- /dev/null
+++ llvm-toolchain-snapshot_9~svn353038/clang/lib/Driver/ToolChains/KFreeBSD.h
+++ llvm-toolchain-snapshot_9~svn353687/clang/lib/Driver/ToolChains/KFreeBSD.h
@@ -0,0 +1,54 @@
+//===--- KFreeBSD.h - kFreeBSD ToolChain Implementations ----------*- C++ -*-===//
+//
......
Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
Index: llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -8,6 +8,7 @@
--- llvm-toolchain-snapshot_9~svn353687.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// XFAIL: *
// <condition_variable>
// FLAKY_TEST.
Index: llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
Index: llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
===================================================================
--- llvm-toolchain-snapshot_7~svn337372.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++ llvm-toolchain-snapshot_7~svn337372/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
@@ -9,6 +9,7 @@
--- llvm-toolchain-snapshot_9~svn353687.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++ llvm-toolchain-snapshot_9~svn353687/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
@@ -8,6 +8,7 @@
//
// UNSUPPORTED: libcpp-has-no-threads
// UNSUPPORTED: c++98, c++03, c++11
+// XFAIL: *
// <shared_mutex>
// FLAKY_TEST.
......@@ -7,11 +7,11 @@ sure their ABI stays in sync.
No known upstream bug about this.
Index: llvm-toolchain-snapshot_7svn337372/libcxxabi/src/cxa_exception.cpp
Index: llvm-toolchain-snapshot_9~svn353687/libcxxabi/src/cxa_exception.cpp
===================================================================
--- llvm-toolchain-snapshot_7svn337372.orig/libcxxabi/src/cxa_exception.cpp
+++ llvm-toolchain-snapshot_7svn337372/libcxxabi/src/cxa_exception.cpp
@@ -261,15 +261,16 @@ __cxa_throw(void *thrown_object, std::ty
--- llvm-toolchain-snapshot_9~svn353687.orig/libcxxabi/src/cxa_exception.cpp
+++ llvm-toolchain-snapshot_9~svn353687/libcxxabi/src/cxa_exception.cpp
@@ -276,15 +276,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_7svn337372/libcxxabi/src/cxa_exception.cpp
// 2.5.3 Exception Handlers
/*
The adjusted pointer is computed by the personality routine during phase 1
@@ -532,7 +533,11 @@ void __cxa_end_catch() {
@@ -547,7 +548,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_7svn337372/libcxxabi/src/cxa_exception.cpp
globals->caughtExceptions = 0;
}
}
@@ -589,8 +594,10 @@ void __cxa_rethrow() {
@@ -604,8 +609,10 @@ void __cxa_rethrow() {
}
#ifdef __USING_SJLJ_EXCEPTIONS__
_Unwind_SjLj_RaiseException(&exception_header->unwindHeader);
......@@ -54,7 +54,7 @@ Index: llvm-toolchain-snapshot_7svn337372/libcxxabi/src/cxa_exception.cpp
#endif
// If we get here, some kind of unwinding error has occurred.
@@ -714,8 +721,10 @@ __cxa_rethrow_primary_exception(void* th
@@ -729,8 +736,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_7svn337372/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_7svn337372/libcxxabi/src/cxa_exception.hpp
Index: llvm-toolchain-snapshot_9~svn353687/libcxxabi/src/cxa_exception.hpp
===================================================================
--- llvm-toolchain-snapshot_7svn337372.orig/libcxxabi/src/cxa_exception.hpp
+++ llvm-toolchain-snapshot_7svn337372/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_9~svn353687.orig/libcxxabi/src/cxa_exception.hpp
+++ llvm-toolchain-snapshot_9~svn353687/libcxxabi/src/cxa_exception.hpp
@@ -27,6 +27,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