summaryrefslogtreecommitdiff
path: root/util/crossgcc/patches
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2017-06-19 17:29:08 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2017-06-21 18:17:54 +0000
commitca117e7f49a618883b0fdaa83bd653e31df0046d (patch)
tree031a4425ef862a7271fb4e81df9640f62aad7e51 /util/crossgcc/patches
parent3b5934936e5f41a8cfd7a2bc29851451ce8de17a (diff)
crossgcc: Update to clang 4.0
Drop Edward's cfe patch because it has been implemented by upstream clang differently. Instead of $ clang --print-librt-file-name the right way to get ahold of the compiler-rt builtin library is $ clang -rtlib=compiler-rt --print-libgcc-file-name Change-Id: I8aac5256da5bfb6f7bebeff0959f16b53867c581 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/20274 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'util/crossgcc/patches')
-rw-r--r--util/crossgcc/patches/cfe-3.9.1.src_frontend.patch79
1 files changed, 0 insertions, 79 deletions
diff --git a/util/crossgcc/patches/cfe-3.9.1.src_frontend.patch b/util/crossgcc/patches/cfe-3.9.1.src_frontend.patch
deleted file mode 100644
index 3b8e6b70b7..0000000000
--- a/util/crossgcc/patches/cfe-3.9.1.src_frontend.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Frontend driver patch from Edward O'Callaghan
-
-https://llvm.org/bugs/show_bug.cgi?id=21538
-
-Index: include/clang/Driver/Driver.h
-===================================================================
---- cfe-3.7.1.src/include/clang/Driver/Driver.h (revision 211898)
-+++ cfe-3.8.0.src/include/clang/Driver/Driver.h (working copy)
-@@ -357,6 +357,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.7.1.src/include/clang/Driver/Options.td (revision 211898)
-+++ cfe-3.8.0.src/include/clang/Driver/Options.td (working copy)
-@@ -1669,6 +1669,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.7.1.src/lib/Driver/Driver.cpp (revision 211898)
-+++ cfe-3.8.0.src/lib/Driver/Driver.cpp (working copy)
-@@ -910,6 +910,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)) {
- for (const Multilib &Multilib : TC.getMultilibs())
- llvm::outs() << Multilib << "\n";
-@@ -2153,6 +2158,26 @@
- return false;
- }
-
-+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 {
- SmallVector<std::string, 2> TargetSpecificExecutables;