[coreboot-gerrit] Patch set updated for coreboot: 7acda43 crossgcc: Add clang support
Stefan Reinauer (stefan.reinauer@coreboot.org)
gerrit at coreboot.org
Fri Jun 5 09:44:39 CEST 2015
Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10415
-gerrit
commit 7acda43ebe6e4f26a27c754623691cab9c2fefe4
Author: Stefan Reinauer <stefan.reinauer at coreboot.org>
Date: Wed Jun 3 17:13:23 2015 -0700
crossgcc: Add clang support
Add a new option -C|--clang to buildgcc to build a clang based
toolchain as opposed to a gcc based toolchain. This toolchain
comes with the required patches needed to successfully build
coreboot, and also with clang's famous scan-build script.
Change-Id: I1aea7cd6002edc4f3bb2b46dc1f69a212ad18f77
Signed-off-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
---
util/crossgcc/buildgcc | 229 ++++++++++++++-------
util/crossgcc/patches/cfe-3.6.1.src_frontend.patch | 75 +++++++
util/crossgcc/sum/cfe-3.6.1.src.tar.xz.cksum | 1 +
.../sum/clang-tools-extra-3.6.1.src.tar.xz.cksum | 1 +
.../sum/compiler-rt-3.6.1.src.tar.xz.cksum | 1 +
util/crossgcc/sum/llvm-3.6.1.src.tar.xz.cksum | 1 +
6 files changed, 233 insertions(+), 75 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index a1b596e..d42fc2c 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -22,15 +22,15 @@
cd `dirname $0`
-CROSSGCC_DATE="June 3th, 2015"
-CROSSGCC_VERSION="1.28"
+CROSSGCC_DATE="June 4th, 2015"
+CROSSGCC_VERSION="1.29"
# default settings
TARGETDIR=`pwd`/xgcc
TARGETARCH=i386-elf
DESTDIR=
-# version numbers
+# GCC toolchain version numbers
GMP_VERSION=6.0.0
MPFR_VERSION=3.1.2
MPC_VERSION=1.0.3
@@ -42,8 +42,10 @@ GDB_VERSION=7.9
IASL_VERSION=20150204
PYTHON_VERSION=3.4.3
EXPAT_VERSION=2.1.0
+# CLANG version number
+CLANG_VERSION=3.6.1
-# archive locations
+# GCC toolchain archive locations
GMP_ARCHIVE="http://ftpmirror.gnu.org/gmp/gmp-${GMP_VERSION}a.tar.bz2"
MPFR_ARCHIVE="http://ftpmirror.gnu.org/mpfr/mpfr-${MPFR_VERSION}.tar.bz2"
MPC_ARCHIVE="http://ftpmirror.gnu.org/mpc/mpc-${MPC_VERSION}.tar.gz"
@@ -54,7 +56,13 @@ GDB_ARCHIVE="http://ftpmirror.gnu.org/gdb/gdb-${GDB_VERSION}.tar.xz"
IASL_ARCHIVE="https://acpica.org/sites/acpica/files/acpica-unix-${IASL_VERSION}.tar.gz"
PYTHON_ARCHIVE="http://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz"
EXPAT_ARCHIVE="http://downloads.sourceforge.net/sourceforge/expat/expat-${EXPAT_VERSION}.tar.gz"
+# CLANG toolchain archive locations
+LLVM_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/llvm-${CLANG_VERSION}.src.tar.xz"
+CFE_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/cfe-${CLANG_VERSION}.src.tar.xz"
+CRT_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/compiler-rt-${CLANG_VERSION}.src.tar.xz"
+CTE_ARCHIVE="http://llvm.org/releases/${CLANG_VERSION}/clang-tools-extra-${CLANG_VERSION}.src.tar.xz"
+# GCC toolchain directories
GMP_DIR="gmp-${GMP_VERSION}"
MPFR_DIR="mpfr-${MPFR_VERSION}"
MPC_DIR="mpc-${MPC_VERSION}"
@@ -65,10 +73,16 @@ GDB_DIR="gdb-${GDB_VERSION}"
IASL_DIR="acpica-unix-${IASL_VERSION}"
PYTHON_DIR="Python-${PYTHON_VERSION}"
EXPAT_DIR="expat-${EXPAT_VERSION}"
+# CLANG toolchain directories
+LLVM_DIR="llvm-${CLANG_VERSION}.src"
+CFE_DIR="cfe-${CLANG_VERSION}.src"
+CRT_DIR="compiler-rt-${CLANG_VERSION}.src"
+CTE_DIR="clang-tools-extra-${CLANG_VERSION}.src"
unset MAKELEVEL MAKEFLAGS
SAVETEMPS=0
+BUILDCLANG=0
SKIPGDB=1
SKIPPYTHON=1
@@ -153,15 +167,64 @@ searchtool()
TAR=`searchtool tar` || exit $?
PATCH=`searchtool patch` || exit $?
MAKE=`searchtool make` || exit $?
+CMAKE=`searchtool cmake "cmake"` || exit $?
searchtool m4 > /dev/null
searchtool bison > /dev/null
searchtool flex flex > /dev/null
searchtool g++ "Free Software Foundation" nofail > /dev/null || \
-searchtool clang "clang version" > /dev/null
searchtool wget > /dev/null
searchtool bzip2 "bzip2," > /dev/null
+download() {
+ ARCHIVE=$1
+ FILE=`basename $ARCHIVE`
+ printf " * $FILE "
+
+ test -f tarballs/$FILE && \
+ (test -z "$CHECKSUM" || \
+ test "`cat sum/$FILE.cksum 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" = "`$CHECKSUM tarballs/$FILE 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" ) && \
+ printf "(cached)" || (
+ printf "(downloading)"
+ rm -f tarballs/$FILE
+ cd tarballs
+ wget --no-check-certificate -q $ARCHIVE
+ cd ..
+ test ! -f sum/$FILE.cksum && test -f tarballs/$FILE && \
+ (test -z "$CHECKSUM" || $CHECKSUM tarballs/$FILE > sum/$FILE.cksum ) && \
+ printf "(checksum created. ${RED}Note. Please upload sum/$FILE.cksum if the corresponding archive is upgraded.${NC})"
+ )
+ test -f tarballs/$FILE || \
+ printf "\n${RED}Failed to download $FILE.${NC}\n"
+ test -f tarballs/$FILE || exit 1
+ printf "\n"
+}
+
+unpack_and_patch() {
+ PACKAGE=$1
+ archive=$PACKAGE"_ARCHIVE"
+ archive="`eval echo '$'$archive`"
+ dir=$PACKAGE"_DIR"
+ dir="`eval echo '$'${dir}`"
+ test -d ${dir} && test -f ${dir}/.unpack_success || (
+ printf " * `basename $archive`\n"
+ FLAGS=zxf
+ suffix=`echo $archive | sed 's,.*\.,,'`
+ test "$suffix" = "gz" && FLAGS=zxf
+ test "$suffix" = "bz2" && FLAGS=jxf
+ test "$suffix" = "xz" && FLAGS="--xz -xf"
+ test "$suffix" = "lzma" && FLAGS="--lzma -xf"
+ $TAR $FLAGS tarballs/`basename $archive`
+ for patch in patches/${dir}_*.patch; do
+ test -r $patch || continue
+ printf " o `basename $patch`\n"
+ $PATCH -s -N -p0 < `echo $patch` || \
+ printf "\n${RED}Failed $patch.${NC}\n"
+ done
+ touch ${dir}/.unpack_success
+ )
+}
+
wait_for_build() {
# $1: directory in which log file and failure marker are stored
cat > "$1/crossgcc-build.log"
@@ -178,14 +241,30 @@ CHECKSUM=$SHA1SUM
cleanup()
{
printf "Cleaning up temporary files... "
- rm -rf ${BUILDDIRPREFIX}-* combined gcc-* gmp-* mpfr-* mpc-* libelf-* binutils-*
- rm -rf gdb-* acpica-* python-* expat-*
- printf "${green}ok${NC}\n"
+ if [ "$BUILDCLANG" -eq 0 ]; then
+ # GCC toolchain
+ rm -rf ${GMP_DIR} ${BUILDDIRPREFIX}-gmp
+ rm -rf ${MPFR_DIR} ${BUILDDIRPREFIX}-mpfr
+ rm -rf ${MPC_DIR} ${BUILDDIRPREFIX}-mpc
+ rm -rf ${LIBELF_DIR} ${BUILDDIRPREFIX}-libelf
+ rm -rf ${BINUTILS_DIR} ${BUILDDIRPREFIX}-binutils
+ rm -rf ${GCC_DIR} ${BUILDDIRPREFIX}-gcc
+
+ # Other tools
+ rm -rf ${GDB_DIR} ${BUILDDIRPREFIX}-gdb
+ rm -rf ${EXPAT_DIR} ${BUILDDIRPREFIX}-expat
+ rm -rf ${PYTHON_DIR} ${BUILDDIRPREFIX}-python
+ rm -rf ${IASL_DIR}
+ else
+ # CLANG
+ rm -rf ${LLVM_DIR} ${CFE_DIR} ${CRT_DIR} ${CTE_DIR} ${BUILDDIR}
+ printf "${green}ok${NC}\n"
+ fi
}
myhelp()
{
- printf "Usage: $0 [-V] [-c] [-p <platform>] [-d <target directory>] [-D <dest dir>] [-G] [-S]\n"
+ printf "Usage: $0 [-V] [-c] [-p <platform>] [-d <target directory>] [-D <dest dir>] [-C] [-G] [-S]\n"
printf " $0 [-V|--version]\n"
printf " $0 [-h|--help]\n\n"
@@ -196,14 +275,16 @@ myhelp()
printf " [-t|--savetemps] don't remove temporary files after build\n"
printf " [-y|--ccache] Use ccache when building cross compiler\n"
printf " [-j|--jobs <num>] run <num> jobs in parallel in make\n"
+ printf " [-C|--clang] build CLANG toolchain"
printf " [-p|--platform <platform>] target platform to build cross compiler for\n"
- printf " (defaults to $TARGETARCH)\n"
+ printf " (defaults to $TARGETARCH)\*\n"
printf " [-d|--directory <target dir>] target directory to install cross compiler to\n"
printf " (defaults to $TARGETDIR)\n\n"
printf " [-D|--destdir <dest dir>] destination directory to install cross compiler to\n"
printf " (for RPM builds, default unset)\n"
- printf " [-G|--gdb] build GNU debugger\n"
- printf " [-S|--scripting] build scripting support for GDB\n\n"
+ printf " [-G|--gdb] build GNU debugger\*\n"
+ printf " [-S|--scripting] build scripting support for GDB\*\n\n"
+ printf " \* option only available when building GCC toolchain (not with CLANG)\n\n"
}
myversion()
@@ -236,11 +317,11 @@ getopt - > /dev/null 2>/dev/null || gcc -o getopt getopt.c
getoptbrand="`getopt -V | sed -e '1!d' -e 's,^\(......\).*,\1,'`"
if [ "${getoptbrand}" = "getopt" ]; then
# Detected GNU getopt that supports long options.
- args=`getopt -l version,help,clean,directory:,platform:,jobs:,destdir:,savetemps,skip-gdb,ccache Vhcd:p:j:D:tGy -- "$@"`
+ args=`getopt -l version,help,clean,directory:,platform:,jobs:,destdir:,savetemps,skip-gdb,ccache,clang Vhcd:p:j:D:tGyC -- "$@"`
eval set "$args"
else
# Detected non-GNU getopt
- args=`getopt Vhcd:p:j:D:tGy $*`
+ args=`getopt Vhcd:p:j:D:tGyC $*`
set -- $args
fi
@@ -259,6 +340,7 @@ while true ; do
-p|--platform) shift; TARGETARCH="$1"; shift;;
-D|--destdir) shift; DESTDIR="$1"; shift;;
-j|--jobs) shift; JOBS="-j $1"; shift;;
+ -C|--clang) shift; BUILDCLANG=1;;
-G|--gdb) shift; SKIPGDB=0;;
-S|--scripting) shift; SKIPPYTHON=0;;
-y|--ccache) shift; USECCACHE=1;;
@@ -268,6 +350,8 @@ while true ; do
esac
done
+if [ "$BUILDCLANG" -eq 0 ]; then
+
case "$TARGETARCH" in
x86_64-elf) ;;
x86_64*) TARGETARCH=x86_64-elf;;
@@ -283,11 +367,16 @@ esac
echo "Target arch is now $TARGETARCH"
BUILDDIRPREFIX=build-${TARGETARCH}
+else
+BUILDDIR=$PWD/build-clang
+fi
if [ "$clean" = "1" ]; then
cleanup
fi
+if [ "$BUILDCLANG" -eq 0 ]; then
+
GDB_PACKAGE="GDB"
PYTHON_PACKAGE="PYTHON"
EXPAT_PACKAGE="EXPAT"
@@ -312,69 +401,40 @@ fi
USE_GOLD=""
GCC_OPTIONS="--enable-lto"
+fi # $BUILDCLANG -eq 0
+
printf "Downloading tar balls ... \n"
mkdir -p tarballs
+
+if [ "$BUILDCLANG" -eq 0 ]; then
for ARCHIVE in $GMP_ARCHIVE $MPFR_ARCHIVE $MPC_ARCHIVE $LIBELF_ARCHIVE \
$GCC_ARCHIVE $BINUTILS_ARCHIVE $GDB_ARCHIVE \
$IASL_ARCHIVE $PYTHON_ARCHIVE $EXPAT_ARCHIVE; do
- FILE=`basename $ARCHIVE`
- printf " * $FILE "
-
- ##create the sum
- #test -f sum/$FILE.cksum || (
- # $CHECKSUM tarballs/$FILE > sum/$FILE.cksum
- # continue
- #)
-
- test -f tarballs/$FILE && \
- (test -z "$CHECKSUM" || \
- test "`cat sum/$FILE.cksum 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" = "`$CHECKSUM tarballs/$FILE 2>/dev/null | sed -e 's,.*\([0-9a-f]\{40\}\).*,\1,'`" ) && \
- printf "(cached)" || (
- printf "(downloading)"
- rm -f tarballs/$FILE
- cd tarballs
- wget --no-check-certificate -q $ARCHIVE
- cd ..
- test ! -f sum/$FILE.cksum && test -f tarballs/$FILE && \
- (test -z "$CHECKSUM" || $CHECKSUM tarballs/$FILE > sum/$FILE.cksum ) && \
- printf "(checksum created. ${RED}Note. Please upload sum/$FILE.cksum if the corresponding archive is upgraded.${NC})"
- )
- test -f tarballs/$FILE || \
- printf "\n${RED}Failed to download $FILE.${NC}\n"
- test -f tarballs/$FILE || exit 1
- printf "\n"
+ download $ARCHIVE
done
+else
+for ARCHIVE in $LLVM_ARCHIVE $CFE_ARCHIVE $CRT_ARCHIVE $CTE_ARCHIVE; do
+ download $ARCHIVE
+done
+fi
printf "Downloaded tar balls ... "
printf "${green}ok${NC}\n"
printf "Unpacking and patching ... \n"
+if [ "$BUILDCLANG" -eq 0 ]; then
for PACKAGE in GMP MPFR MPC LIBELF GCC BINUTILS $PYTHON_PACKAGE \
$EXPAT_PACKAGE $GDB_PACKAGE IASL; do
- archive=$PACKAGE"_ARCHIVE"
- archive="`eval echo '$'$archive`"
- dir=$PACKAGE"_DIR"
- dir="`eval echo '$'${dir}`"
- test -d ${dir} && test -f ${dir}/.unpack_success || (
- printf " * `basename $archive`\n"
- FLAGS=zxf
- suffix=`echo $archive | sed 's,.*\.,,'`
- test "$suffix" = "gz" && FLAGS=zxf
- test "$suffix" = "bz2" && FLAGS=jxf
- test "$suffix" = "xz" && FLAGS="--xz -xf"
- test "$suffix" = "lzma" && FLAGS="--lzma -xf"
- $TAR $FLAGS tarballs/`basename $archive`
- for patch in patches/${dir}_*.patch; do
- test -r $patch || continue
- printf " o `basename $patch`\n"
- $PATCH -s -N -p0 < `echo $patch` || \
- printf "\n${RED}Failed $patch.${NC}\n"
- done
- touch ${dir}/.unpack_success
- )
+ unpack_and_patch $PACKAGE
+done
+else
+for PACKAGE in LLVM CFE CRT CTE; do
+ unpack_and_patch $PACKAGE
done
+fi
printf "Unpacked and patched ... "
printf "${green}ok${NC}\n"
+if [ "$BUILDCLANG" -eq 0 ]; then
CC=cc
if [ $UNAME = "Darwin" ]; then
#GCC_OPTIONS="$GCC_OPTIONS --enable-threads=posix"
@@ -397,11 +457,13 @@ if [ $UNAME = "Darwin" ]; then
CC=llvm-gcc
fi
fi
+fi # "$BUILDCLANG" -eq 0
if [ "$USECCACHE" = 1 ]; then
CC="ccache $CC"
fi
+if [ "$BUILDCLANG" -eq 0 ]; then
mkdir -p ${BUILDDIRPREFIX}-gmp ${BUILDDIRPREFIX}-mpfr ${BUILDDIRPREFIX}-mpc ${BUILDDIRPREFIX}-libelf ${BUILDDIRPREFIX}-binutils \
${BUILDDIRPREFIX}-gcc ${BUILDDIRPREFIX}-python ${BUILDDIRPREFIX}-expat
@@ -656,27 +718,44 @@ printf "Building IASL ${IASL_VERSION} ... "
) 2>&1 | wait_for_build "$IASL_DIR/source/compiler" || exit 1
fi
+else
+
+printf "Building CLANG ${CLANG_VERSION} ... "
+mkdir -p ${BUILDDIR}
+(
+ ln -sf $PWD/$CFE_DIR $LLVM_DIR/tools/clang
+ ln -sf $PWD/$CTE_DIR $LLVM_DIR/tools/clang/tools/extra
+ ln -sf $PWD/$CRT_DIR $LLVM_DIR/projects/compiler-rt
+
+ cd ${BUILDDIR}
+
+ $CMAKE -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$DESTDIR$TARGETDIR \
+ -DCMAKE_BUILD_TYPE=Release ../$LLVM_DIR || touch .failed
+ $MAKE $JOBS || touch .failed
+ $MAKE install || touch .failed
+
+ cd -
+
+ cp -a $CFE_DIR/tools/scan-build/* $DESTDIR$TARGETDIR/bin
+ cp -a $CFE_DIR/tools/scan-view/* $DESTDIR$TARGETDIR/bin
+
+ if [ ! -f .failed ]; then touch .success; fi
+) 2>&1 | wait_for_build "${BUILDDIR}" || exit 1
+
+fi # "$BUILDCLANG" -eq 0
+
PROGNAME=`basename "$0"`
rm -f "$DESTDIR$TARGETDIR/$PROGNAME".commit.*
cp "$PROGNAME" $DESTDIR$TARGETDIR/"$PROGNAME.commit.`git describe`"
if [ $SAVETEMPS -eq 0 ]; then
- printf "Cleaning up... "
- rm -rf ${GMP_DIR} ${BUILDDIRPREFIX}-gmp
- rm -rf ${MPFR_DIR} ${BUILDDIRPREFIX}-mpfr
- rm -rf ${MPC_DIR} ${BUILDDIRPREFIX}-mpc
- rm -rf ${LIBELF_DIR} ${BUILDDIRPREFIX}-libelf
- rm -rf ${BINUTILS_DIR} ${BUILDDIRPREFIX}-binutils
- rm -rf ${GCC_DIR} ${BUILDDIRPREFIX}-gcc
- rm -rf ${GDB_DIR} ${BUILDDIRPREFIX}-gdb
- rm -rf ${EXPAT_DIR} ${BUILDDIRPREFIX}-expat
- rm -rf ${PYTHON_DIR} ${BUILDDIRPREFIX}-python
- rm -rf ${IASL_DIR}
- printf "${green}ok${NC}\n"
+ cleanup
else
printf "Leaving temporary files around... ${green}ok${NC}\n"
fi
+if [ "$BUILDCLANG" -eq 0 ]; then
printf "\n${green}You can now run your $TARGETARCH cross toolchain from $TARGETDIR.${NC}\n"
-
-
+else
+printf "\n${green}You can now run your CLANG toolchain from $TARGETDIR.${NC}\n"
+fi
diff --git a/util/crossgcc/patches/cfe-3.6.1.src_frontend.patch b/util/crossgcc/patches/cfe-3.6.1.src_frontend.patch
new file mode 100644
index 0000000..594e08a
--- /dev/null
+++ b/util/crossgcc/patches/cfe-3.6.1.src_frontend.patch
@@ -0,0 +1,75 @@
+Index: include/clang/Driver/Driver.h
+===================================================================
+--- cfe-3.6.1.src/include/clang/Driver/Driver.h (revision 211898)
++++ cfe-3.6.1.src/include/clang/Driver/Driver.h (working copy)
+@@ -325,6 +325,14 @@
+ // FIXME: This should be in CompilationInfo.
+ std::string GetFilePath(const char *Name, const ToolChain &TC) const;
+
++ /// GetCompilerRTPath - Find Compiler-RT library path
++ ///
++ /// \param TC - The provided tool chain for additional information on
++ /// directories to search.
++ //
++ // FIXME: This should be in CompilationInfo.
++ std::string GetCompilerRTPath(const ToolChain &TC) const;
++
+ /// GetProgramPath - Lookup \p Name in the list of program search paths.
+ ///
+ /// \param TC - The provided tool chain for additional information on
+Index: include/clang/Driver/Options.td
+===================================================================
+--- cfe-3.6.1.src/include/clang/Driver/Options.td (revision 211898)
++++ cfe-3.6.1.src/include/clang/Driver/Options.td (working copy)
+@@ -1269,6 +1269,8 @@
+ HelpText<"Enable Objective-C Ivar layout bitmap print trace">;
+ def print_libgcc_file_name : Flag<["-", "--"], "print-libgcc-file-name">,
+ HelpText<"Print the library path for \"libgcc.a\"">;
++def print_librt_file_name : Flag<["-", "--"], "print-librt-file-name">,
++ HelpText<"Print the library path for \"libclang_rt.builtins-ARCH.a\"">;
+ def print_multi_directory : Flag<["-", "--"], "print-multi-directory">;
+ def print_multi_lib : Flag<["-", "--"], "print-multi-lib">;
+ def print_multi_os_directory : Flag<["-", "--"], "print-multi-os-directory">;
+Index: lib/Driver/Driver.cpp
+===================================================================
+--- cfe-3.6.1.src/lib/Driver/Driver.cpp (revision 211898)
++++ cfe-3.6.1.src/lib/Driver/Driver.cpp (working copy)
+@@ -756,6 +756,11 @@
+ return false;
+ }
+
++ if (C.getArgs().hasArg(options::OPT_print_librt_file_name)) {
++ llvm::outs() << GetCompilerRTPath(TC) << "\n";
++ return false;
++ }
++
+ if (C.getArgs().hasArg(options::OPT_print_multi_lib)) {
+ const MultilibSet &Multilibs = TC.getMultilibs();
+
+@@ -1820,6 +1825,26 @@
+ return Name;
+ }
+
++std::string Driver::GetCompilerRTPath(const ToolChain &TC) const {
++ // The runtimes are located in the OS-specific resource directory.
++ SmallString<128> Res(TC.getDriver().ResourceDir);
++ const llvm::Triple &Triple = TC.getTriple();
++
++ // TC.getOS() yield "freebsd10.0" whereas "freebsd" is expected.
++ StringRef OSLibName = (Triple.getOS() == llvm::Triple::FreeBSD) ?
++ "freebsd" : TC.getOS();
++ llvm::sys::path::append(Res, "lib", OSLibName);
++
++ StringRef archName = TC.getArchName();
++ // Until ARM libraries are build separately, we have them all in one library
++ if (TC.getArch() == llvm::Triple::arm ||
++ TC.getArch() == llvm::Triple::armeb)
++ archName = "arm";
++
++ llvm::sys::path::append(Res, Twine("libclang_rt.builtins-") + archName + ".a");
++ return Res.str();
++}
++
+ std::string Driver::GetProgramPath(const char *Name,
+ const ToolChain &TC) const {
+ // FIXME: Needs a better variable than DefaultTargetTriple
diff --git a/util/crossgcc/sum/cfe-3.6.1.src.tar.xz.cksum b/util/crossgcc/sum/cfe-3.6.1.src.tar.xz.cksum
new file mode 100644
index 0000000..661bf9c
--- /dev/null
+++ b/util/crossgcc/sum/cfe-3.6.1.src.tar.xz.cksum
@@ -0,0 +1 @@
+b7221d8fdd27e3ed519d0281646e82e17b51122c tarballs/cfe-3.6.1.src.tar.xz
diff --git a/util/crossgcc/sum/clang-tools-extra-3.6.1.src.tar.xz.cksum b/util/crossgcc/sum/clang-tools-extra-3.6.1.src.tar.xz.cksum
new file mode 100644
index 0000000..17d55cb
--- /dev/null
+++ b/util/crossgcc/sum/clang-tools-extra-3.6.1.src.tar.xz.cksum
@@ -0,0 +1 @@
+d93136f56999d8ae1ffebb9cd0cd7f3c27ba77c4 tarballs/clang-tools-extra-3.6.1.src.tar.xz
diff --git a/util/crossgcc/sum/compiler-rt-3.6.1.src.tar.xz.cksum b/util/crossgcc/sum/compiler-rt-3.6.1.src.tar.xz.cksum
new file mode 100644
index 0000000..51e426b
--- /dev/null
+++ b/util/crossgcc/sum/compiler-rt-3.6.1.src.tar.xz.cksum
@@ -0,0 +1 @@
+85dccdc6ccd9675e871dfd2786b45fbf53518485 tarballs/compiler-rt-3.6.1.src.tar.xz
diff --git a/util/crossgcc/sum/llvm-3.6.1.src.tar.xz.cksum b/util/crossgcc/sum/llvm-3.6.1.src.tar.xz.cksum
new file mode 100644
index 0000000..5ca7065
--- /dev/null
+++ b/util/crossgcc/sum/llvm-3.6.1.src.tar.xz.cksum
@@ -0,0 +1 @@
+01ecab99adc9030ee34e9a2e19e65dfe64e1affe tarballs/llvm-3.6.1.src.tar.xz
More information about the coreboot-gerrit
mailing list