diff options
Diffstat (limited to 'util/crossgcc/patches')
-rw-r--r-- | util/crossgcc/patches/cfe-3.9.1.src_frontend.patch | 79 |
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; |