mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-07-02 21:41:53 +00:00
Merge branch '7' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into 7
This commit is contained in:
commit
8de8f856be
35
debian/patches/bootstrap-polly-fpic.diff
vendored
35
debian/patches/bootstrap-polly-fpic.diff
vendored
@ -1,35 +0,0 @@
|
||||
Index: llvm-toolchain-7-7/polly/CMakeLists.txt
|
||||
===================================================================
|
||||
--- llvm-toolchain-7-7.orig/polly/CMakeLists.txt
|
||||
+++ llvm-toolchain-7-7/polly/CMakeLists.txt
|
||||
@@ -91,6 +91,8 @@ else ()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti")
|
||||
endif ()
|
||||
|
||||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
+
|
||||
# Add path for custom modules
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${POLLY_SOURCE_DIR}/cmake")
|
||||
|
||||
Index: llvm-toolchain-7-7/polly/lib/External/CMakeLists.txt
|
||||
===================================================================
|
||||
--- llvm-toolchain-7-7.orig/polly/lib/External/CMakeLists.txt
|
||||
+++ llvm-toolchain-7-7/polly/lib/External/CMakeLists.txt
|
||||
@@ -1,3 +1,6 @@
|
||||
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
+
|
||||
# External: Integer Set Library
|
||||
if (POLLY_BUNDLED_ISL)
|
||||
set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/isl")
|
||||
Index: llvm-toolchain-7-7/lib/Support/CMakeLists.txt
|
||||
===================================================================
|
||||
--- llvm-toolchain-7-7.orig/lib/Support/CMakeLists.txt
|
||||
+++ llvm-toolchain-7-7/lib/Support/CMakeLists.txt
|
||||
@@ -1,4 +1,6 @@
|
||||
set(system_libs)
|
||||
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
+
|
||||
if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
|
||||
set(system_libs ${system_libs} ${ZLIB_LIBRARIES})
|
||||
endif()
|
0
debian/patches/bug-30342.diff
vendored
0
debian/patches/bug-30342.diff
vendored
@ -1,46 +0,0 @@
|
||||
libcxx atomic tests for old i386 fail with wrong Atomic inline width.
|
||||
cmpxchg8b instruction is required for 8 byte atomics that clang was
|
||||
assuming.
|
||||
|
||||
Too bad _GCC_ATOMIC_LLONG_LOCK_FREE 2 isn't supported even with this change
|
||||
because llvm doesn't support unaligned atomic compare and exchange operation.
|
||||
Fallback calls to libatomic.so should handle long long lock free but clang
|
||||
can't tell program if libatomic is always lock free.
|
||||
|
||||
Related bug: https://llvm.org/bugs/show_bug.cgi?id=19355
|
||||
|
||||
Index: llvm-toolchain-snapshot_6.0~svn309319/clang/lib/Basic/Targets/X86.cpp
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot_6.0~svn309319.orig/clang/lib/Basic/Targets/X86.cpp
|
||||
+++ llvm-toolchain-snapshot_6.0~svn309319/clang/lib/Basic/Targets/X86.cpp
|
||||
@@ -1133,7 +1133,7 @@ void X86TargetInfo::getTargetDefines(con
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
|
||||
}
|
||||
- if (CPU >= CK_i586)
|
||||
+ if (isCmpXChg8Supported())
|
||||
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
|
||||
|
||||
if (HasFloat128)
|
||||
Index: llvm-toolchain-snapshot_6.0~svn309319/clang/lib/Basic/Targets/X86.h
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot_6.0~svn309319.orig/clang/lib/Basic/Targets/X86.h
|
||||
+++ llvm-toolchain-snapshot_6.0~svn309319/clang/lib/Basic/Targets/X86.h
|
||||
@@ -281,6 +281,8 @@ class LLVM_LIBRARY_VISIBILITY X86TargetI
|
||||
// acceptable.
|
||||
// FIXME: This results in terrible diagnostics. Clang just says the CPU is
|
||||
// invalid without explaining *why*.
|
||||
+ if (!isCmpXChg8Supported())
|
||||
+ MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 32;
|
||||
switch (Kind) {
|
||||
case CK_Generic:
|
||||
// No processor selected!
|
||||
@@ -548,8 +550,6 @@ public:
|
||||
(1 << TargetInfo::LongDouble));
|
||||
|
||||
// x86-32 has atomics up to 8 bytes
|
||||
- // FIXME: Check that we actually have cmpxchg8b before setting
|
||||
- // MaxAtomicInlineWidth. (cmpxchg8b is an i586 instruction.)
|
||||
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user