Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2016 10:26:35 +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: r422979 - in head/devel/llvm39: . files
Message-ID:  <201609301026.u8UAQZAm090712@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: brooks
Date: Fri Sep 30 10:26:35 2016
New Revision: 422979
URL: https://svnweb.freebsd.org/changeset/ports/422979

Log:
  Import Clang's r280672 into our devel/llvm39 port
  
  This revision is what's needed to make Clang work for CloudABI on ARMv6.
  By pulling in this change, the ARMv6 cross compiler set up by the
  cloudabi-toolchain port seems functional.
  
  In the process, I did have to replace some ${RMDIR}s by ${RM} -rf, as it
  tried to delete nonexistent directories. Brooks, do you know what's up
  with that?
  
  Submitted by:	ed
  Differential Revision:	https://reviews.freebsd.org/D8078

Added:
  head/devel/llvm39/files/clang-patch-svn-r280672   (contents, props changed)
Modified:
  head/devel/llvm39/Makefile

Modified: head/devel/llvm39/Makefile
==============================================================================
--- head/devel/llvm39/Makefile	Fri Sep 30 10:03:36 2016	(r422978)
+++ head/devel/llvm39/Makefile	Fri Sep 30 10:26:35 2016	(r422979)
@@ -2,6 +2,7 @@
 
 PORTNAME=	llvm
 DISTVERSION=	3.9.0
+PORTREVISION=	1
 CATEGORIES=	devel lang
 MASTER_SITES=	http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR}
 DISTNAME=	${PORTNAME}-${DISTVERSION}.src
@@ -51,6 +52,7 @@ PLIST_FILES=
 
 CLANG_DESC=	Build clang
 CLANG_EXTRA_PATCHES= \
+	${PATCHDIR}/clang-patch-svn-r280672 \
 	${PATCHDIR}/clang-patch-fformat_extensions.diff \
 	${PATCHDIR}/clang-patch-fopenmp.diff \
 	${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt \
@@ -320,7 +322,7 @@ post-build-COMPILER_RT-on:
 	${MAKE_ENV} ${MAKE_CMD}
 
 post-install:
-	${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/llvm/MC/MCAnalysis
+	${RM} -r ${STAGEDIR}${LLVM_PREFIX}/include/llvm/MC/MCAnalysis
 	${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \
 	    ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX}
 .for command in ${COMMANDS:C/^/XXXX/1:NXXXX*}
@@ -350,7 +352,7 @@ post-install-DOCS-off:
 
 post-install-LLDB-on:
 	${RM} ${STAGEDIR}${LLVM_PREFIX}/lib/python*/site-packages/lib
-	${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/lldb/Host/windows/getopt
+	${RM} -r ${STAGEDIR}${LLVM_PREFIX}/include/lldb/Host/windows/getopt
 
 post-install-CLANG-on:
 	${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \

Added: head/devel/llvm39/files/clang-patch-svn-r280672
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/llvm39/files/clang-patch-svn-r280672	Fri Sep 30 10:26:35 2016	(r422979)
@@ -0,0 +1,39 @@
+------------------------------------------------------------------------
+r280672 | ed | 2016-09-05 18:38:34 +0000 (Mon, 05 Sep 2016) | 6 lines
+
+Add support for targeting armv6-unknown-cloudabi-eabihf.
+
+I'm in the progress of adding ARMv6 support to CloudABI. On the compiler
+side, everything seems to work properly with this tiny change applied.
+
+
+------------------------------------------------------------------------
+Index: test/Preprocessor/init.c
+===================================================================
+--- tools/clang/test/Preprocessor/init.c	(revision 280671)
++++ tools/clang/test/Preprocessor/init.c	(revision 280672)
+@@ -1975,6 +1975,11 @@
+ // ARMEABIHARDFP:#define __arm 1
+ // ARMEABIHARDFP:#define __arm__ 1
+ 
++// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv6-unknown-cloudabi-eabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARMV6-CLOUDABI %s
++//
++// ARMV6-CLOUDABI:#define __CloudABI__ 1
++// ARMV6-CLOUDABI:#define __arm__ 1
++
+ // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NETBSD %s
+ //
+ // ARM-NETBSD-NOT:#define _LP64
+Index: lib/Basic/Targets.cpp
+===================================================================
+--- tools/clang/lib/Basic/Targets.cpp	(revision 280671)
++++ tools/clang/lib/Basic/Targets.cpp	(revision 280672)
+@@ -8261,6 +8261,8 @@
+       return new DarwinARMTargetInfo(Triple, Opts);
+ 
+     switch (os) {
++    case llvm::Triple::CloudABI:
++      return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts);
+     case llvm::Triple::Linux:
+       return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts);
+     case llvm::Triple::FreeBSD:



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