You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sys-devel/clang/files/clang-3.0-freebsd-runtime-g...

21 lines
990 B

diff -upNr a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp
--- a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:45:01.333127000 -0400
+++ b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 16:16:26.023642076 -0400
@@ -1215,6 +1215,16 @@ FreeBSD::FreeBSD(const HostInfo &Host, c
} else {
getFilePaths().push_back("/usr/lib");
}
+
+ llvm::OwningPtr<llvm::MemoryBuffer> File;
+ if (!llvm::MemoryBuffer::getFile("/etc/env.d/gcc/config-" + getDriver().DefaultHostTriple, File))
+ {
+ bool Exists;
+ StringRef Version = File.get()->getBuffer().rsplit('-').second.substr(0,5);
+ const std::string GentooPath = "/usr/lib/gcc/" + getDriver().DefaultHostTriple + "/" + Version.str();
+ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
+ getFilePaths().push_back(GentooPath);
+ }
}
Tool &FreeBSD::SelectTool(const Compilation &C, const JobAction &JA,