Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Aug 2015 18:12:08 +0000 (UTC)
From:      Brooks Davis <brooks@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r395384 - in head/devel/llvm37: . files
Message-ID:  <201508261812.t7QIC806083188@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brooks
Date: Wed Aug 26 18:12:08 2015
New Revision: 395384
URL: https://svnweb.freebsd.org/changeset/ports/395384

Log:
  Upgrade to 3.7.0 RC3.
  
  Enabled compiler-rt on amd64 and i386.  Patches greatfully acepted for
  other architectures.
  
  Remove svn patches as an alternate fix has been merged.

Added:
  head/devel/llvm37/files/compiler-rt-patch-tools_compiler-rt_cmake_config-ix.cmake   (contents, props changed)
Deleted:
  head/devel/llvm37/files/clang-patch-svn-244209
  head/devel/llvm37/files/clang-patch-svn-245041
Modified:
  head/devel/llvm37/Makefile
  head/devel/llvm37/distinfo
  head/devel/llvm37/pkg-plist

Modified: head/devel/llvm37/Makefile
==============================================================================
--- head/devel/llvm37/Makefile	Wed Aug 26 17:26:59 2015	(r395383)
+++ head/devel/llvm37/Makefile	Wed Aug 26 18:12:08 2015	(r395384)
@@ -1,8 +1,7 @@
 # $FreeBSD$
 
 PORTNAME=	llvm
-DISTVERSION=	3.7.0rc2
-PORTREVISION=	1
+DISTVERSION=	3.7.0rc3
 CATEGORIES=	devel lang
 MASTER_SITES=	http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR}
 DISTNAME=	${PORTNAME}-${DISTVERSION}.src
@@ -30,21 +29,22 @@ SUB_LIST=	LLVM_PREFIX="${LLVM_PREFIX}" L
 CMAKE_INSTALL_PREFIX=	${LLVM_PREFIX}
 CMAKE_ARGS=	-DBUILD_SHARED_LIBS=ON
 
-OPTIONS_DEFINE=	CLANG DOCS GOLD LIT LLD LLDB
+OPTIONS_DEFINE=	CLANG COMPILER_RT DOCS GOLD LIT LLD LLDB
 OPTIONS_DEFINE_amd64=	OPENMP
 OPTIONS_DEFAULT=	CLANG GOLD LIT LLD LLDB
-OPTIONS_DEFAULT_amd64=	OPENMP
+OPTIONS_DEFAULT_amd64=	COMPILER_RT OPENMP
+OPTIONS_DEFAULT_i386=	COMPILER_RT
 OPTIONS_SUB=	yes
 
 CLANG_DESC=	Build clang
 CLANG_EXTRA_PATCHES= \
-		${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt \
-		${PATCHDIR}/clang-patch-svn-244209 \
-		${PATCHDIR}/clang-patch-svn-245041
+		${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt
 CLANG_CONFLICTS_INSTALL=	clang-devel-3.[1234567]*
 CLANG_DISTFILES=	cfe-${DISTVERSION}.src${EXTRACT_SUFX}
 CLANG_CMAKE_ON=		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
 CLANG_PORTDOCS=		clang
+COMPILER_RT_DESC=	Build compiler-rt (sanitizers)
+COMPILER_RT_DISTFILES=	compiler-rt-${DISTVERSION}.src${EXTRACT_SUFX}
 DOCS_PORTDOCS=		llvm
 DOCS_CMAKE_ON=		-DLLVM_ENABLE_SPHINX=ON \
 			-DSPHINX_WARNINGS_AS_ERRORS=OFF \
@@ -63,7 +63,7 @@ GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=$
 GOLD_BUILD_DEPENDS=	ld.gold:${PORTSDIR}/devel/binutils
 
 # Emulate USE_GITHUB's ${WRKSRC_tag} to reduce diffs to ../llvm-devel
-.for option in CLANG LLD LLDB OPENMP
+.for option in CLANG COMPILER_RT LLD LLDB OPENMP
 WRKSRC_${option:tl}=		${WRKDIR}/${${option}_DISTFILES:S/${EXTRACT_SUFX}//}
 .endfor
 
@@ -122,6 +122,49 @@ COMMANDS+=	clang \
 MAN1SRCS+=	clang.1
 .endif
 
+.if ${PORT_OPTIONS:MCOMPILER_RT}
+SAN_LIBDIR=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE}/lib/freebsd
+.if ${ARCH} == "amd64"
+# Disable i386 variants on amd64.
+EXTRA_PATCHES+= \
+    ${PATCHDIR}/compiler-rt-patch-tools_compiler-rt_cmake_config-ix.cmake
+PLIST_FILES+=	\
+	${SAN_LIBDIR}/libclang_rt.asan-preinit-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.asan-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.asan-x86_64.a.syms \
+	${SAN_LIBDIR}/libclang_rt.asan-x86_64.so \
+	${SAN_LIBDIR}/libclang_rt.asan_cxx-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.asan_cxx-x86_64.a.syms \
+	${SAN_LIBDIR}/libclang_rt.builtins-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.dd-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.dyndd-x86_64.so \
+	${SAN_LIBDIR}/libclang_rt.lsan-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.profile-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.safestack-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.tsan-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.tsan-x86_64.a.syms \
+	${SAN_LIBDIR}/libclang_rt.tsan_cxx-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.tsan_cxx-x86_64.a.syms \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone-x86_64.a.syms \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone_cxx-x86_64.a \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
+.elif ${ARCH} == "i386"
+PLIST_FILES+=	\
+	${SAN_LIBDIR}/libclang_rt.asan-i386.a \
+	${SAN_LIBDIR}/libclang_rt.asan-i386.so \
+	${SAN_LIBDIR}/libclang_rt.asan-preinit-i386.a \
+	${SAN_LIBDIR}/libclang_rt.asan_cxx-i386.a \
+	${SAN_LIBDIR}/libclang_rt.builtins-i386.a \
+	${SAN_LIBDIR}/libclang_rt.profile-i386.a \
+	${SAN_LIBDIR}/libclang_rt.safestack-i386.a \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone-i386.a \
+	${SAN_LIBDIR}/libclang_rt.ubsan_standalone_cxx-i386.a
+.else
+BROKEN=	no packaging data for sanitizers on ${ARCH}.  Disable COMPILER_RT.
+.endif
+.endif
+
 .if ${PORT_OPTIONS:MLIT}
 MAN1SRCS+=	lit.1 FileCheck.1
 _USES_PYTHON=	python
@@ -169,6 +212,9 @@ PLIST_SUB:=	${PLIST_SUB:NLLDB=*} LLDB="@
 post-extract-CLANG-on:
 	${MV} ${WRKSRC_clang} ${PATCH_WRKSRC}/tools/clang
 
+post-extract-COMPILER_RT-on:
+	${MV} ${WRKSRC_compiler_rt} ${PATCH_WRKSRC}/tools/compiler-rt
+
 post-extract-LLD-on:
 	${MV} ${WRKSRC_lld} ${PATCH_WRKSRC}/tools/lld
 
@@ -261,7 +307,7 @@ build-plist:
 	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \
 	    ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' | \
 	    ${SORT} >> ${PLIST}.tmp
-	awk '{if ($$0 ~ /clang/ && $$0 !~ /omp.h/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} print}' ${PLIST}.tmp >> ${PLIST}
+	awk '{if ($$0 ~ /clang/ && $$0 !~ /(omp.h|libclang_rt|sanitizer|blacklist.txt)/) {printf "%%%%CLANG%%%%"} if ($$0 ~ /(sanitizer|blacklist.txt)/) {printf "%%%%COMPILER_RT%%%%"} if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} if ($$0 ~ /(argdumper|lldb)/) {printf "%%%%LLDB%%%%"} if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} if ($$0 !~ /libclang_rt/) {print}}' ${PLIST}.tmp >> ${PLIST}
 	${RM} -f ${PLIST}.tmp
 
 check-commands:

Modified: head/devel/llvm37/distinfo
==============================================================================
--- head/devel/llvm37/distinfo	Wed Aug 26 17:26:59 2015	(r395383)
+++ head/devel/llvm37/distinfo	Wed Aug 26 18:12:08 2015	(r395384)
@@ -1,10 +1,12 @@
-SHA256 (llvm-3.7.0rc2.src.tar.xz) = 36a79ba3198afb5c973d89ec2e4ef1d4587d97fa3b3f51fb1badcd7c0c868213
-SIZE (llvm-3.7.0rc2.src.tar.xz) = 14624620
-SHA256 (cfe-3.7.0rc2.src.tar.xz) = a371a416af039eec9291b9acc167911ad9c8d9f3494111c8e53beb07b7f5dfaa
-SIZE (cfe-3.7.0rc2.src.tar.xz) = 9141532
-SHA256 (lld-3.7.0rc2.src.tar.xz) = 849a99def4c4ccc1639989d7296680fe36b845391a728a0cb75b41e91a9fc9c4
-SIZE (lld-3.7.0rc2.src.tar.xz) = 586280
-SHA256 (lldb-3.7.0rc2.src.tar.xz) = 56a3e14de7568f1fa151f7d1af014dfc4f54e589c062ba04b2d9b7ae1f28e1ae
-SIZE (lldb-3.7.0rc2.src.tar.xz) = 10645800
-SHA256 (openmp-3.7.0rc2.src.tar.xz) = 0a23f842d92dd7a434b5725f9bee5dec7493131589abcfdbc0c54cfec7b04696
-SIZE (openmp-3.7.0rc2.src.tar.xz) = 2250736
+SHA256 (llvm-3.7.0rc3.src.tar.xz) = 906d08033a223163eef00dfa865ac06816c389ee60bc3612c608a407e846bda5
+SIZE (llvm-3.7.0rc3.src.tar.xz) = 14631476
+SHA256 (cfe-3.7.0rc3.src.tar.xz) = da5507898510903c6f4bb80288980af4baa26234d2eefdcf8fd023738c48c06b
+SIZE (cfe-3.7.0rc3.src.tar.xz) = 9146940
+SHA256 (compiler-rt-3.7.0rc3.src.tar.xz) = 0e822f587363c19e4d527a3f7c43eaf80ab14c1e057e9baa28337b69dc5a1a6b
+SIZE (compiler-rt-3.7.0rc3.src.tar.xz) = 1194088
+SHA256 (lld-3.7.0rc3.src.tar.xz) = b944d2ca653ecc04411641890e77a830a9c1de51b7918b6c3647f39590d9f73c
+SIZE (lld-3.7.0rc3.src.tar.xz) = 586324
+SHA256 (lldb-3.7.0rc3.src.tar.xz) = 5db4abd1cc1883e55cd3322d525475e7e91483a32f7d27dd23fe3914ee43f10d
+SIZE (lldb-3.7.0rc3.src.tar.xz) = 10649692
+SHA256 (openmp-3.7.0rc3.src.tar.xz) = 0c40502684f15bd76c275bffc404985b6d411b79d97f22608284106744a9a2d2
+SIZE (openmp-3.7.0rc3.src.tar.xz) = 2250412

Added: head/devel/llvm37/files/compiler-rt-patch-tools_compiler-rt_cmake_config-ix.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm37/files/compiler-rt-patch-tools_compiler-rt_cmake_config-ix.cmake	Wed Aug 26 18:12:08 2015	(r395384)
@@ -0,0 +1,13 @@
+--- tools/compiler-rt/cmake/config-ix.cmake.orig	2015-08-20 13:35:01 UTC
++++ tools/compiler-rt/cmake/config-ix.cmake
+@@ -180,8 +180,8 @@ elseif(NOT APPLE) # Supported archs for 
+       # FIXME: We build runtimes for both i686 and i386, as "clang -m32" may
+       # target different variant than "$CMAKE_C_COMPILER -m32". This part should
+       # be gone after we resolve PR14109.
+-      test_target_arch(i686 __i686__ "-m32")
+-      test_target_arch(i386 __i386__ "-m32")
++      #test_target_arch(i686 __i686__ "-m32")
++      #test_target_arch(i386 __i386__ "-m32")
+     else()
+       if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+         test_target_arch(i386 "" "")

Modified: head/devel/llvm37/pkg-plist
==============================================================================
--- head/devel/llvm37/pkg-plist	Wed Aug 26 17:26:59 2015	(r395383)
+++ head/devel/llvm37/pkg-plist	Wed Aug 26 18:12:08 2015	(r395384)
@@ -1775,6 +1775,7 @@ llvm37/include/llvm/Transforms/Vectorize
 llvm37/lib/BugpointPasses.so
 llvm37/lib/LLVMHello.so
 %%GOLD%%llvm37/lib/LLVMgold.so
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/asan_blacklist.txt
 %%CLANG%%llvm37/lib/clang/3.7.0/include/Intrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/__stddef_max_align_t.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/__wmmintrin_aes.h
@@ -1823,6 +1824,15 @@ llvm37/lib/LLVMHello.so
 %%CLANG%%llvm37/lib/clang/3.7.0/include/rdseedintrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/rtmintrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/s390intrin.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/allocator_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/asan_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/coverage_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/lsan_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/msan_interface.h
+%%COMPILER_RT%%llvm37/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/shaintrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/smmintrin.h
 %%CLANG%%llvm37/lib/clang/3.7.0/include/tbmintrin.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508261812.t7QIC806083188>