[arch-commits] Commit in lldb/trunk (3 files)
Evangelos Foutras
foutrelis at archlinux.org
Thu Mar 15 01:56:46 UTC 2018
Date: Thursday, March 15, 2018 @ 01:56:32
Author: foutrelis
Revision: 319151
upgpkg: lldb 6.0.0-3
Update patch to only fix pthread / dl autodetection;
linking to libLLVM.so was fixed in the llvm package.
Added:
lldb/trunk/PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch
Modified:
lldb/trunk/PKGBUILD
Deleted:
lldb/trunk/D44379-fix-standalone-build-with-llvm-dylib.patch
----------------------------------------------------------+
D44379-fix-standalone-build-with-llvm-dylib.patch | 61 -------------
PKGBUILD | 10 +-
PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch | 54 +++++++++++
3 files changed, 59 insertions(+), 66 deletions(-)
Deleted: D44379-fix-standalone-build-with-llvm-dylib.patch
===================================================================
--- D44379-fix-standalone-build-with-llvm-dylib.patch 2018-03-15 01:49:50 UTC (rev 319150)
+++ D44379-fix-standalone-build-with-llvm-dylib.patch 2018-03-15 01:56:32 UTC (rev 319151)
@@ -1,61 +0,0 @@
-Index: cmake/modules/LLDBConfig.cmake
-===================================================================
---- cmake/modules/LLDBConfig.cmake
-+++ cmake/modules/LLDBConfig.cmake
-@@ -346,12 +346,15 @@
-
- endif()
-
--if (HAVE_LIBPTHREAD)
-- list(APPEND system_libs pthread)
--endif(HAVE_LIBPTHREAD)
--
--if (HAVE_LIBDL)
-- list(APPEND system_libs ${CMAKE_DL_LIBS})
-+if(UNIX)
-+ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-+ find_package(Threads REQUIRED)
-+ list(APPEND system_libs ${CMAKE_THREAD_LIBS_INIT})
-+
-+ check_library_exists(dl dlopen "" HAVE_LIBDL)
-+ if (HAVE_LIBDL)
-+ list(APPEND system_libs ${CMAKE_DL_LIBS})
-+ endif()
- endif()
-
- # Figure out if lldb could use lldb-server. If so, then we'll
-Index: cmake/modules/LLDBStandalone.cmake
-===================================================================
---- cmake/modules/LLDBStandalone.cmake
-+++ cmake/modules/LLDBStandalone.cmake
-@@ -17,7 +17,9 @@
- "--includedir"
- "--prefix"
- "--src-root"
-- "--cmakedir")
-+ "--cmakedir"
-+ "--shared-mode"
-+ )
- execute_process(
- COMMAND ${CONFIG_COMMAND}
- RESULT_VARIABLE HAD_ERROR
-@@ -44,6 +46,7 @@
- list(GET CONFIG_OUTPUT 4 LLVM_OBJ_ROOT)
- list(GET CONFIG_OUTPUT 5 MAIN_SRC_DIR)
- list(GET CONFIG_OUTPUT 6 LLVM_CMAKE_PATH)
-+ list(GET CONFIG_OUTPUT 7 SHARED_MODE)
-
- if(NOT MSVC_IDE)
- set(LLVM_ENABLE_ASSERTIONS ${ENABLE_ASSERTIONS}
-@@ -72,6 +75,11 @@
- message(FATAL_ERROR "Not found: ${LLVMCONFIG_FILE}")
- endif()
-
-+ if(SHARED_MODE STREQUAL "shared")
-+ set(LLVM_LINK_LLVM_DYLIB ON)
-+ set(LLVM_DYLIB_COMPONENTS all)
-+ endif()
-+
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-03-15 01:49:50 UTC (rev 319150)
+++ PKGBUILD 2018-03-15 01:56:32 UTC (rev 319151)
@@ -4,7 +4,7 @@
pkgname=lldb
pkgver=6.0.0
-pkgrel=2
+pkgrel=3
pkgdesc="Next generation, high-performance debugger"
arch=('x86_64')
url="https://lldb.llvm.org/"
@@ -12,10 +12,10 @@
depends=('llvm-libs' 'clang' 'python2' 'python2-six')
makedepends=('llvm' 'cmake' 'ninja' 'swig')
source=(https://releases.llvm.org/$pkgver/$pkgname-$pkgver.src.tar.xz{,.sig}
- D44379-fix-standalone-build-with-llvm-dylib.patch)
+ PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch)
sha256sums=('46f54c1d7adcd047d87c0179f7b6fa751614f339f4f87e60abceaa45f414d454'
'SKIP'
- '18d382ed1273740faa0bd6d4565649636b62bd2aaf078ddc30eb151a1b24ec7b')
+ '1f146b2009553c6a5f76fa077b621fba66db5ef26c9790e9f64e608304d099e5')
validpgpkeys+=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans at chromium.org>
validpgpkeys+=('11E521D646982372EB577A1F8F0871F202119294') # Tom Stellard <tom at stellard.net>
@@ -24,8 +24,7 @@
mkdir build
# https://bugs.llvm.org/show_bug.cgi?id=36687
- # https://reviews.llvm.org/D44379
- patch -Np0 -i ../D44379-fix-standalone-build-with-llvm-dylib.patch
+ patch -Np1 -i ../PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch
}
build() {
@@ -37,6 +36,7 @@
-DPYTHON_EXECUTABLE=/usr/bin/python2 \
-DPYTHON_LIBRARY=/usr/lib/libpython2.7.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python2.7 \
+ -DLLVM_LINK_LLVM_DYLIB=ON \
-DLLDB_USE_SYSTEM_SIX=1
ninja
}
Added: PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch
===================================================================
--- PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch (rev 0)
+++ PR36687-fix-standalone-LLVM_LINK_LLVM_DYLIB-builds.patch 2018-03-15 01:56:32 UTC (rev 319151)
@@ -0,0 +1,54 @@
+From 39c65fb3ea6ddbec92b32efa1a7fbd0fb299ce63 Mon Sep 17 00:00:00 2001
+From: Pavel Labath <labath at google.com>
+Date: Wed, 14 Mar 2018 10:08:21 +0000
+Subject: [PATCH] [cmake] Fix standalone+LLVM_LINK_LLVM_DYLIB builds (pr36687)
+
+Summary:
+To make this build work, I needed to add detection code for the pthread
+library. This is necessary, because we have direct calls to these
+libraries (instead of going through llvm) and in the standalone build we
+cannot rely on llvm to detect these for us. In a standalone non-dylib
+build this was accidentaly working because these libraries were pulled
+in as an interface dependency of the .a files, but in a dylib build
+these are no longer part of the link interface, and so we need to add
+them explicitly.
+
+Reviewers: krytarowski, zturner
+
+Subscribers: lldb-commits, mgorny
+
+Differential Revision: https://reviews.llvm.org/D44379
+
+git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@327490 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ cmake/modules/LLDBConfig.cmake | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
+index 24878b5913..32effe7737 100644
+--- a/cmake/modules/LLDBConfig.cmake
++++ b/cmake/modules/LLDBConfig.cmake
+@@ -346,14 +346,18 @@ else()
+
+ endif()
+
+-if (HAVE_LIBPTHREAD)
+- list(APPEND system_libs pthread)
+-endif(HAVE_LIBPTHREAD)
++if( WIN32 AND NOT CYGWIN )
++ set(PURE_WINDOWS 1)
++endif()
+
+-if (HAVE_LIBDL)
+- list(APPEND system_libs ${CMAKE_DL_LIBS})
++if(NOT PURE_WINDOWS)
++ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
++ find_package(Threads REQUIRED)
++ list(APPEND system_libs ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+
++list(APPEND system_libs ${CMAKE_DL_LIBS})
++
+ # Figure out if lldb could use lldb-server. If so, then we'll
+ # ensure we build lldb-server when an lldb target is being built.
+ if (CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|FreeBSD|Linux|NetBSD")
More information about the arch-commits
mailing list