[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