head 1.4; access; symbols pkgsrc-2015Q4:1.2.0.6 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.4 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.2 pkgsrc-2015Q2-base:1.2; locks; strict; comment @# @; 1.4 date 2016.03.10.15.01.52; author tnn; state dead; branches; next 1.3; commitid qrZrTwuOnTLSH6Yy; 1.3 date 2016.01.11.19.16.09; author ryoon; state Exp; branches; next 1.2; commitid dVWleVkiAVXW1yQy; 1.2 date 2015.04.26.13.08.38; author tnn; state Exp; branches; next 1.1; commitid iQriXWlozLuHl6jy; 1.1 date 2015.04.06.17.25.05; author tnn; state Exp; branches; next ; commitid ot1P6qAp8ySMpygy; desc @@ 1.4 log @Update to clang-3.8.0. Split out llvm tools to lang/llvm. Packaged in pkgsrc-wip by myself and Kamil. Remove stale pkgsrc/SunOS bread crumbs that were difficult to merge following the build framework switch. Needs to be redone. (Sorry!) Summary of significant changes in LLVM: - switch build framework from autoconf to CMake - llvm-ar now supports thin archives. - llvm doesn t produce .data.rel.ro.local or .data.rel sections anymore. - opional support for linking clang and the LLVM tools with a single libLLVM shared library pkgsrc note: we have this library in lang/libLLVM, but we don't currently use it. We may do so in the future if/when the API matures. - The optimization to move the prologue and epilogue of functions in colder code path (shrink-wrapping) is now enabled by default - new target-independent gcc-compatible emulated Thread Local Storage mode - various target specific optimizations Summary of significant changes in Clang: - new compiler flags for tuning what DWARF information is included - better strict alignment handling - better support for __builtin_object_size @ text @$NetBSD: patch-tools_llvm-shlib_Makefile,v 1.3 2016/01/11 19:16:09 ryoon Exp $ Add NetBSD support. Use full paths to archive files instead of -lfoo to avoid wrapper reordering. --- tools/llvm-shlib/Makefile.orig 2015-11-16 18:18:25.000000000 +0000 +++ tools/llvm-shlib/Makefile @@@@ -53,18 +53,18 @@@@ ifeq ($(HOST_OS),Darwin) LLVMLibsOptions := $(LLVMLibsOptions) -all_load endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD NetBSD OpenBSD GNU Bitrig)) # Include everything from the .a's into the shared library. - LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \ + LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsPaths) \ -Wl,--no-whole-archive endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD NetBSD GNU)) # Add soname to the library. LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME).1$(SHLIBEXT) endif -ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD)) +ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD NetBSD)) # Don't allow unresolved symbols. LLVMLibsOptions += -Wl,--no-undefined endif @ 1.3 log @Update to 3.7.1 Changelog: Major changes in 3.7.1 ====================== * 3.7.0 was released with an inadvertent change to the signature of the C API function: LLVMBuildLandingPad, which made the C API incompatible with prior releases. This has been corrected in LLVM 3.7.1. As a result of this change, 3.7.0 is not ABI compatible with 3.7.1. +----------------------------------------------------------------------------+ | History of the LLVMBuildLandingPad() function | +===========================+================================================+ | 3.6.2 and prior releases | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | LLVMValueRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+ | 3.7.0 | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+ | 3.7.1 and future releases | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | LLVMValueRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+ @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_Makefile,v 1.2 2015/04/26 13:08:38 tnn Exp $ @ 1.2 log @Use full paths to archive files instead of -lfoo to avoid wrapper reordering when linking a shared library out of .a files. This is what other packages that use -Wl,--whole-archive seem to do. This works with and without cwrappers. XXX someone please apply similar fixes for Darwin and SunOS if necessary @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 --- tools/llvm-shlib/Makefile.orig 2014-08-01 06:16:03.000000000 +0000 d23 1 a23 1 LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT) @ 1.1 log @Teach the llvm shared library build rules about NetBSD so we get a single shlib with whole-archive like on other platforms. Bump revision and bl3. @ text @d3 3 d15 2 a16 1 LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \ @