diff options
author | adam <adam@pkgsrc.org> | 2018-12-09 20:04:38 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2018-12-09 20:04:38 +0000 |
commit | c859e7b19dcd558c211972c47c585a4ef506a382 (patch) | |
tree | f09be1286874d3087abd9a0a3fa3a325eac17b34 /lang/llvm/patches | |
parent | efb1fd4565223c20630b5ebe741a1315bda7dd9e (diff) | |
download | pkgsrc-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')
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() |