svn commit: r395384 - in head/devel/llvm37: . files
Brooks Davis
brooks at FreeBSD.org
Wed Aug 26 18:12:10 UTC 2015
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
More information about the svn-ports-head
mailing list