summaryrefslogtreecommitdiff
path: root/lang/llvm/patches
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2018-12-09 20:04:38 +0000
committeradam <adam@pkgsrc.org>2018-12-09 20:04:38 +0000
commitc859e7b19dcd558c211972c47c585a4ef506a382 (patch)
treef09be1286874d3087abd9a0a3fa3a325eac17b34 /lang/llvm/patches
parentefb1fd4565223c20630b5ebe741a1315bda7dd9e (diff)
downloadpkgsrc-c859e7b19dcd558c211972c47c585a4ef506a382.tar.gz
llvm: updated to 7.0.0
LLVM 7.0.0 Release The release contains the work on trunk up to SVN revision 338536 plus work on the release branch. It is the result of the community's work over the past six months, including: function multiversioning in Clang with the 'target' attribute for ELF-based x86/x86_64 targets, improved PCH support in clang-cl, preliminary DWARF v5 support, basic support for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer support for OpenBSD, UBSan checks for implicit conversions, many long-tail compatibility issues fixed in lld which is now production ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and diagtool. And as usual, many optimizations, improved diagnostics, and bug fixes. For more details, see the release notes: https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html
Diffstat (limited to 'lang/llvm/patches')
-rw-r--r--lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake20
-rw-r--r--lang/llvm/patches/patch-include_llvm_Support_DataTypes.h.cmake39
-rw-r--r--lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt10
3 files changed, 21 insertions, 48 deletions
diff --git a/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake b/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
index bcb0a5f2e99..c160325ff45 100644
--- a/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
+++ b/lang/llvm/patches/patch-cmake_modules_AddLLVM.cmake
@@ -1,21 +1,31 @@
-$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.3 2017/03/19 19:01:48 adam Exp $
+$NetBSD: patch-cmake_modules_AddLLVM.cmake,v 1.4 2018/12/09 20:04:38 adam Exp $
Don't use non-portable -z discard-unused on SunOS.
+On Darwin, create symbolic links to shared libraries.
On Darwin, use correct install-name for shared libraries.
---- cmake/modules/AddLLVM.cmake.orig 2017-01-17 21:47:58.000000000 +0000
+--- cmake/modules/AddLLVM.cmake.orig 2018-08-01 07:51:55.000000000 +0000
+++ cmake/modules/AddLLVM.cmake
-@@ -182,9 +182,6 @@ function(add_link_opts target_name)
+@@ -218,9 +218,6 @@ function(add_link_opts target_name)
# ld64's implementation of -dead_strip breaks tools that use plugins.
set_property(TARGET ${target_name} APPEND_STRING PROPERTY
LINK_FLAGS " -Wl,-dead_strip")
- elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
- set_property(TARGET ${target_name} APPEND_STRING PROPERTY
- LINK_FLAGS " -Wl,-z -Wl,discard-unused=sections")
- elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD)
+ elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
# Object files are compiled with -ffunction-data-sections.
# Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks
-@@ -1419,7 +1416,7 @@ function(llvm_setup_rpath name)
+@@ -517,7 +514,7 @@ function(llvm_add_library name)
+ endif()
+
+ if(ARG_SHARED AND UNIX)
+- if(NOT APPLE AND ARG_SONAME)
++ if(ARG_SONAME)
+ get_target_property(output_name ${name} OUTPUT_NAME)
+ if(${output_name} STREQUAL "output_name-NOTFOUND")
+ set(output_name ${name})
+@@ -1632,7 +1629,7 @@ function(llvm_setup_rpath name)
endif()
if (APPLE)
diff --git a/lang/llvm/patches/patch-include_llvm_Support_DataTypes.h.cmake b/lang/llvm/patches/patch-include_llvm_Support_DataTypes.h.cmake
deleted file mode 100644
index 9b444d08a39..00000000000
--- a/lang/llvm/patches/patch-include_llvm_Support_DataTypes.h.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-$NetBSD: patch-include_llvm_Support_DataTypes.h.cmake,v 1.1 2018/01/08 10:48:34 jperkin Exp $
-
-Implement sys/regset.h workaround directly.
-
---- include/llvm/Support/DataTypes.h.cmake.orig 2017-06-06 11:49:48.000000000 +0000
-+++ include/llvm/Support/DataTypes.h.cmake
-@@ -132,4 +132,32 @@ typedef signed int ssize_t;
- #define HUGE_VALF (float)HUGE_VAL
- #endif
-
-+/*
-+ * At some point sys/regset.h will be included, and on older releases
-+ * of illumos it exports conflicting macros used by LLVM. Include it
-+ * early and ensure they are undefined first.
-+ */
-+#if defined(__sun)
-+#include <sys/regset.h>
-+#undef CS
-+#undef DS
-+#undef ES
-+#undef FS
-+#undef GS
-+#undef SS
-+#undef EAX
-+#undef ECX
-+#undef EDX
-+#undef EBX
-+#undef ESP
-+#undef EBP
-+#undef ESI
-+#undef EDI
-+#undef EIP
-+#undef UESP
-+#undef EFL
-+#undef ERR
-+#undef TRAPNO
-+#endif
-+
- #endif /* SUPPORT_DATATYPES_H */
diff --git a/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt b/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt
index 0943b6ae7b5..f832df68c3d 100644
--- a/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt
+++ b/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt
@@ -1,15 +1,17 @@
-$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.3 2018/08/07 10:44:50 adam Exp $
+$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.4 2018/12/09 20:04:38 adam Exp $
Use the Linux style linking everywhere except Darwin and SunOS.
---- tools/llvm-shlib/CMakeLists.txt.orig 2017-07-19 16:07:51.000000000 +0000
+--- tools/llvm-shlib/CMakeLists.txt.orig 2018-08-03 10:15:36.000000000 +0000
+++ tools/llvm-shlib/CMakeLists.txt
-@@ -37,10 +37,11 @@ endif()
+@@ -37,12 +37,11 @@ endif()
add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES})
list(REMOVE_DUPLICATES LIB_NAMES)
-if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
+- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf"
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
@@ -20,7 +22,7 @@ Use the Linux style linking everywhere except Darwin and SunOS.
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in
${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map)
-@@ -51,8 +52,6 @@ if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Lin
+@@ -53,8 +52,6 @@ if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Lin
# Solaris ld does not accept global: *; so there is no way to version *all* global symbols
set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES})
endif()