From 563fe608c4a49d1fc9a02abf4ae0caeb9fd58978 Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Thu, 14 Jun 2018 15:27:57 +0300 Subject: [PATCH] clang: Fix linking shared LLDB. Now buildable --- ...re-exports-for-all-windows-platforms.patch | 25 +++++++++++++++++++ mingw-w64-clang/PKGBUILD | 10 +++++--- 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 mingw-w64-clang/0507-declare-exports-for-all-windows-platforms.patch diff --git a/mingw-w64-clang/0507-declare-exports-for-all-windows-platforms.patch b/mingw-w64-clang/0507-declare-exports-for-all-windows-platforms.patch new file mode 100644 index 0000000000000..433e0f1696b87 --- /dev/null +++ b/mingw-w64-clang/0507-declare-exports-for-all-windows-platforms.patch @@ -0,0 +1,25 @@ +--- lldb/include/lldb/lldb-defines.h.orig 2018-06-14 10:47:59.093121500 +0300 ++++ lldb/include/lldb/lldb-defines.h 2018-06-14 10:48:12.399156100 +0300 +@@ -12,15 +12,17 @@ + + #include "lldb/lldb-types.h" + +-#if defined(_MSC_VER) ++#if defined(_WIN32) ++#if defined(LLDB_STATIC_BUILD) ++#define LLDB_API ++#else + #if defined(EXPORT_LIBLLDB) + #define LLDB_API __declspec(dllexport) +-#elif defined(IMPORT_LIBLLDB) ++#else + #define LLDB_API __declspec(dllimport) +-#else +-#define LLDB_API ++#endif + #endif +-#else // defined (_MSC_VER) ++#else // defined (_WIN32) + #define LLDB_API + #endif + diff --git a/mingw-w64-clang/PKGBUILD b/mingw-w64-clang/PKGBUILD index f536338ca249e..6449eaafb783c 100644 --- a/mingw-w64-clang/PKGBUILD +++ b/mingw-w64-clang/PKGBUILD @@ -13,12 +13,12 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-clang-analyzer" "${MINGW_PACKAGE_PREFIX}-clang-tools-extra" "${MINGW_PACKAGE_PREFIX}-compiler-rt" - "${MINGW_PACKAGE_PREFIX}-libc++abi" "${MINGW_PACKAGE_PREFIX}-libc++" - "${MINGW_PACKAGE_PREFIX}-lld" + "${MINGW_PACKAGE_PREFIX}-libc++abi" "${MINGW_PACKAGE_PREFIX}-libunwind" - "${MINGW_PACKAGE_PREFIX}-llvm" + "${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-lldb" + "${MINGW_PACKAGE_PREFIX}-llvm" "${MINGW_PACKAGE_PREFIX}-polly") pkgver=6.0.0 pkgrel=1 @@ -77,6 +77,7 @@ source=(https://releases.llvm.org/${pkgver}/llvm-${pkgver}.src.tar.xz{,.sig} "0504-fix-lldb-library-name-mingw.patch" "0505-use-gnu-printf.patch" "0506-mingw-python-posix-like.patch" + "0507-declare-exports-for-all-windows-platforms.patch" "0801-Don-t-build-LLVMPolly-on-WIN32.patch") # Some patch notes :) #0001-0099 -> llvm @@ -137,6 +138,7 @@ sha256sums=('1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408' '769a8286ff528178256cc6001bb21562857ba9e9ab2214e5709b030d1b684ace' 'b06014b98f96249386a75f3282c863a932efab5519a81dd68d28f8565ee91589' 'dc758dfd564db316c717fe1ab201a432a47b2327ecf8835d28b1e2daad5962a6' + '35b3fa7074594032ded30ed3fab4ef358b18fb0176c49e07bb33db9ed36057d4' 'bc394e597f8939b6f6630bd88c990f951738aaadacded2f3be71c658e9608fe7') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. '11E521D646982372EB577A1F8F0871F202119294') # Tom Stellard @@ -200,6 +202,8 @@ prepare() { patch -p1 -i "${srcdir}/0504-fix-lldb-library-name-mingw.patch" patch -p1 -i "${srcdir}/0505-use-gnu-printf.patch" patch -p1 -i "${srcdir}/0506-mingw-python-posix-like.patch" + patch -p1 -i "${srcdir}/0507-declare-exports-for-all-windows-platforms.patch" + # There was big refactor/cleanup and it doesn't apply any more # https://github.com/llvm-mirror/lldb/commit/456b31d616f3c71be31315ae26f6c8e174f4fd51#diff-2c5e3e9a387d499896aa082d15141bfb # However 32 bit lldb is still crashing without it; temporary leaving patch for the reference until it's solved