smlinux/base/clang/clang-003-as-needed.patch
PktSurf 74ed84af66 Added binutils 2.40 to base
Split base/llvm package into base/llvm,clang,lld
Updated base buildlist
Discarded old heavybuilds/firefox patch
2024-11-10 16:21:45 +05:30

31 lines
1.2 KiB
Diff

forces as-needed regardless of ldflags
From f59f126a9344f265e3766003766d7a66b6a638e3 Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
Date: Sun, 23 Oct 2022 01:26:37 +0200
Subject: [PATCH 3/4] clang: use --as-needed by default
---
clang/lib/Driver/ToolChains/Gnu.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index f203cae1d..9e181a79a 100644
--- a/lib/Driver/ToolChains/Gnu.cpp
+++ b/lib/Driver/ToolChains/Gnu.cpp
@@ -560,6 +560,13 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
+
+ // Use --as-needed by default for all explicit linker inputs on Linux
+ // We don't reset it afterwards because explicit argument does not
+ // get reset either (and that is permitted, so it should be fine)
+ if (Triple.isOSLinux())
+ CmdArgs.push_back("--as-needed");
+
AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
addHIPRuntimeLibArgs(ToolChain, Args, CmdArgs);
--
2.38.0