[clang] [clang] add llvm abi support (PR #121123)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 25 18:13:58 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
@llvm/pr-subscribers-clang-driver
Author: Tristan Ross (RossComputerGuy)
<details>
<summary>Changes</summary>
This PR makes it possible to use the LLVM ABI which uses LLVM libc.
---
Full diff: https://github.com/llvm/llvm-project/pull/121123.diff
2 Files Affected:
- (modified) clang/lib/Driver/Driver.cpp (+1-1)
- (modified) clang/lib/Driver/ToolChains/Gnu.cpp (+1-1)
``````````diff
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index dc84c1b9d1cc4e..98b8e6e97419c6 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -1531,7 +1531,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
// Check if the environment version is valid except wasm case.
llvm::Triple Triple = TC.getTriple();
- if (!Triple.isWasm()) {
+ if (!Triple.isWasm() && Triple.getEnvironment() != llvm::Triple::LLVM) {
StringRef TripleVersionName = Triple.getEnvironmentVersionString();
StringRef TripleObjectFormat =
Triple.getObjectFormatTypeName(Triple.getObjectFormat());
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 8397f1121ec2ce..2c9539ef56683c 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -464,7 +464,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (!Args.hasArg(options::OPT_shared)) {
if (Args.hasArg(options::OPT_pg))
crt1 = "gcrt1.o";
- else if (IsPIE)
+ else if (IsPIE && Triple.getEnvironment() != llvm::Triple::LLVM)
crt1 = "Scrt1.o";
else if (IsStaticPIE)
crt1 = "rcrt1.o";
``````````
</details>
https://github.com/llvm/llvm-project/pull/121123
More information about the cfe-commits
mailing list