clang: WIP update to 3.9.0
This commit is contained in:
@@ -14,8 +14,8 @@ index 31fb871..e8c63d7 100644
|
||||
uintptr_t private_2; // holds sp that phase1 found for phase2 to use
|
||||
-#ifndef __LP64__
|
||||
+#if !defined(__LP64__) && !defined(_WIN64)
|
||||
// The gcc implementation of _Unwind_Exception used attribute mode on the
|
||||
// above fields which had the side effect of causing this whole struct to
|
||||
// The implementation of _Unwind_Exception uses an attribute mode on the
|
||||
// above fields which has the side effect of causing this whole struct to
|
||||
// round up to 32 bytes in size. To be more explicit, we add pad fields
|
||||
diff --git a/src/AddressSpace.hpp b/src/AddressSpace.hpp
|
||||
index 567cbda..fd0b233 100644
|
||||
@@ -97,20 +97,13 @@ diff --git a/src/config.h b/src/config.h
|
||||
index c9ec087..6f14e92 100644
|
||||
--- a/src/config.h
|
||||
+++ b/src/config.h
|
||||
@@ -60,6 +60,23 @@
|
||||
@@ -39,6 +39,16 @@
|
||||
#define _LIBUNWIND_SUPPORT_DWARF_UNWIND 1
|
||||
#define _LIBUNWIND_SUPPORT_DWARF_INDEX 0
|
||||
#endif
|
||||
|
||||
+#elif defined(_WIN32)
|
||||
+ // Note! the assembler files must be .S and not .s.
|
||||
+ #define _LIBUNWIND_BUILD_ZERO_COST_APIS 1
|
||||
+
|
||||
+ // #define _LIBUNWIND_BUILD_SJLJ_APIS
|
||||
+ // #define _LIBUNWIND_SUPPORT_FRAME_APIS
|
||||
+ #define _LIBUNWIND_EXPORT
|
||||
+ #define _LIBUNWIND_HIDDEN
|
||||
+ #define _LIBUNWIND_LOG(msg, ...) fprintf(stderr, "libuwind: " msg, __VA_ARGS__)
|
||||
+ #define _LIBUNWIND_ABORT(msg) do { fprintf(stderr, msg); abort(); } while(0)
|
||||
+ #define _LIBUNWIND_SUPPORT_COMPACT_UNWIND 1
|
||||
+ #define _LIBUNWIND_SUPPORT_DWARF_UNWIND 1
|
||||
+ // #define _LIBUNWIND_SUPPORT_DWARF_INDEX
|
||||
@@ -119,8 +112,23 @@ index c9ec087..6f14e92 100644
|
||||
+ // Here we would like to get the regular versions, not the _mingw ones.
|
||||
+ #undef __USE_MINGW_ANSI_STDIO
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
#if defined(__ARM_DWARF_EH__) || !defined(__arm__)
|
||||
#define _LIBUNWIND_SUPPORT_COMPACT_UNWIND 0
|
||||
@@ -51,9 +51,13 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-// FIXME: these macros are not correct for COFF targets
|
||||
+#if defined(_WIN32)
|
||||
+#define _LIBUNWIND_EXPORT
|
||||
+#define _LIBUNWIND_HIDDEN
|
||||
+#else
|
||||
#define _LIBUNWIND_EXPORT __attribute__((visibility("default")))
|
||||
#define _LIBUNWIND_HIDDEN __attribute__((visibility("hidden")))
|
||||
+#endif
|
||||
|
||||
#if (defined(__APPLE__) && defined(__arm__)) || defined(__USING_SJLJ_EXCEPTIONS__)
|
||||
#define _LIBUNWIND_BUILD_SJLJ_APIS 1
|
||||
--
|
||||
2.4.5
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
"${MINGW_PACKAGE_PREFIX}-llvm"
|
||||
#"${MINGW_PACKAGE_PREFIX}-lldb"
|
||||
)
|
||||
pkgver=3.8.0
|
||||
pkgrel=3
|
||||
pkgver=3.9.0
|
||||
pkgrel=1
|
||||
pkgdesc="C language family frontend for LLVM (mingw-w64)"
|
||||
arch=('any')
|
||||
url="http://llvm.org"
|
||||
@@ -59,25 +59,25 @@ source=(http://llvm.org/releases/${pkgver}/llvm-${pkgver}.src.tar.xz{,.sig}
|
||||
#0041-0049 -> c++
|
||||
#0051-0059 -> lldb
|
||||
#0061-0069 -> libunwind
|
||||
sha256sums=('555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46'
|
||||
sha256sums=('66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948'
|
||||
'SKIP'
|
||||
'04149236de03cf05232d68eb7cb9c50f03062e339b68f4f8a03b650a11536cf9'
|
||||
'7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28'
|
||||
'SKIP'
|
||||
'c8d3387e55f229543dac1941769120f24dc50183150bf19d1b070d53d29d56b0'
|
||||
'e0e5224fcd5740b61e416c549dd3dcda92f10c524216c1edb5e979e42078a59a'
|
||||
'SKIP'
|
||||
'194fa90bc902e1f4fe338cc96ca5353ad6b04fa08c449fd8cb1de3256dd26f4a'
|
||||
'fdc261b686a75351e691be36a4cbad141096998c03d1487c35b6253d8e5bf408'
|
||||
'SKIP'
|
||||
'36804511b940bc8a7cefc7cb391a6b28f5e3f53f6372965642020db91174237b'
|
||||
'd0b38d51365c6322f5666a2a8105785f2e114430858de4c25a86b49f227f5b06'
|
||||
'SKIP'
|
||||
'c5ee0871aff6ec741380c4899007a7d97f0b791c81df69d25b744eebc5cee504'
|
||||
'b037a92717856882e05df57221e087d7d595a2ae9f170f7bc1a23ec7a92c8019'
|
||||
'SKIP'
|
||||
'afbda810106a6e64444bc164b921be928af46829117c95b996f2678ce4cb1ec4'
|
||||
'5b7aec46ec8e999ec683c87ad744082e1133781ee4b01905b4bdae5d20785f14'
|
||||
'SKIP'
|
||||
'94704dda228c9f75f4403051085001440b458501ec97192eee06e8e67f7f9f0c'
|
||||
'986e8150ec5f457469a20666628bf634a5ca992a53e157f3b69dbc35056b32d9'
|
||||
'SKIP'
|
||||
'e3f68f44147df0433e7989bf6ed1c58ff28d7c68b9c47553cb9915f744785a35'
|
||||
'61280e07411e3f2b4cca0067412b39c16b0a9edd19d304d3fc90249899d12384'
|
||||
'SKIP'
|
||||
'af3eaf39ecdc3b9e89863fb62e1aa3c135cfde7e9415424e4e396d7486a9422b'
|
||||
'66675ddec5ba0d36689757da6008cb2596ee1a9067f4f598d89ce5a3b43f4c2b'
|
||||
'SKIP'
|
||||
'0804146b32138d55c611336cc81e1783c29a8fab0fe62f248ba1ad7acc711c4d'
|
||||
'76bcdcae0ef3a4d3ae7082b7fcd668e9560e63fb82068c3f889f9e89b9becf4a'
|
||||
@@ -88,10 +88,10 @@ sha256sums=('555b028e9ee0f6445ff8f949ea10e9cd8be0d084840e21fbbe1d31d51fc06e46'
|
||||
'0e45e76ee6d6658de52edb7b508a8bcc9f10ff0b295ff2a4e35577136a40c6a5'
|
||||
'a0933775b979b4879e220358b1076d8eeb9170403d0d190b1340d179fcd3cd1e'
|
||||
'5b8edbbb638c906216e20229529e8348abc50d5886d20e07af08543e1e574e94'
|
||||
'c05162c426e90a01cef4a9d34d09e6314b966f2fea5a121223c98e51f5b6bd93')
|
||||
'0a5529a5e9871ec5252c3853f1fdda69253c1a7505837e9c45ae14bcb76a8660')
|
||||
validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg, Google.
|
||||
noextract=(cfe-${pkgver}.src.tar.xz
|
||||
#libcxx-${pkgver}.src.tar.xz
|
||||
libcxx-${pkgver}.src.tar.xz
|
||||
lldb-${pkgver}.src.tar.xz
|
||||
test-suite-${pkgver}.src.tar.xz
|
||||
)
|
||||
@@ -100,6 +100,15 @@ prepare() {
|
||||
plain "Extracting clang-${pkgver}.src.tar.xz due to symlink(s) without pre-existing target(s)"
|
||||
[[ -d ${srcdir}/cfe-${pkgver} ]] && rm -rf ${srcdir}/cfe-${pkgver}
|
||||
[[ -d ${srcdir}/cfe-${pkgver} ]] || tar -xJvf ${srcdir}/cfe-${pkgver}.src.tar.xz -C ${srcdir} || true
|
||||
|
||||
plain "Extracting libcxx-${pkgver}.src.tar.xz due to symlink(s) without pre-existing target(s)"
|
||||
[[ -d ${srcdir}/libcxx-${pkgver} ]] && rm -rf ${srcdir}/libcxx-${pkgver}
|
||||
[[ -d ${srcdir}/libcxx-${pkgver} ]] || tar -xJvf ${srcdir}/libcxx-${pkgver}.src.tar.xz -C ${srcdir} || true
|
||||
|
||||
plain "Extracting lldb-${pkgver}.src.tar.xz due to symlink(s) without pre-existing target(s)"
|
||||
[[ -d ${srcdir}/lldb-${pkgver} ]] && rm -rf ${srcdir}/lldb-${pkgver}
|
||||
[[ -d ${srcdir}/lldb-${pkgver} ]] || tar -xJvf ${srcdir}/lldb-${pkgver}.src.tar.xz -C ${srcdir} || true
|
||||
|
||||
cd "${srcdir}/llvm-${pkgver}.src"
|
||||
patch -p1 -i "${srcdir}/0001-Fix-GetHostTriple-for-mingw-w64-in-msys.patch"
|
||||
patch -p1 -i "${srcdir}/0002-use-DESTDIR-on-windows.patch"
|
||||
@@ -118,17 +127,9 @@ prepare() {
|
||||
|
||||
cd "${srcdir}/libcxx-${pkgver}.src"
|
||||
patch -p1 -i "${srcdir}/0041-libcxx-add-support-for-mingw-w64.patch"
|
||||
|
||||
cd "${srcdir}/libunwind-${pkgver}.src"
|
||||
patch -p1 -i "${srcdir}/0061-libunwind-add-support-for-mingw-w64.patch"
|
||||
cd "${srcdir}/llvm-${pkgver}.src"
|
||||
|
||||
# Fix docs installation directory
|
||||
sed -i 's:$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
|
||||
Makefile.config.in
|
||||
|
||||
# Fix definition of LLVM_CMAKE_DIR in LLVMConfig.cmake
|
||||
sed -i '/@LLVM_CONFIG_CMAKE_DIR@/s:$(PROJ_cmake):$(PROJ_prefix)/share/llvm/cmake:' \
|
||||
cmake/modules/Makefile
|
||||
|
||||
# At the present, clang must reside inside the LLVM source code tree to build
|
||||
# See http://llvm.org/bugs/show_bug.cgi?id=4840
|
||||
@@ -138,7 +139,7 @@ prepare() {
|
||||
mv "${srcdir}/cfe-${pkgver}.src" tools/clang | true
|
||||
mv "${srcdir}/clang-tools-extra-${pkgver}.src" tools/clang/tools/extra | true
|
||||
mv "${srcdir}/lld-${pkgver}.src" tools/lld | true
|
||||
#mv "${srcdir}/lldb-${pkgver}.src" tools/lldb | true
|
||||
mv "${srcdir}/lldb-${pkgver}.src" tools/lldb | true
|
||||
mv "${srcdir}/compiler-rt-${pkgver}.src" projects/compiler-rt | true
|
||||
mv "${srcdir}/libcxxabi-${pkgver}.src" projects/libcxxabi | true
|
||||
mv "${srcdir}/libcxx-${pkgver}.src" projects/libcxx | true
|
||||
|
||||
Reference in New Issue
Block a user