From becf5f4848e1482ef440ce5e04af6a5b715031ed Mon Sep 17 00:00:00 2001 From: Keith Smiley Date: Sat, 12 Oct 2024 18:08:33 +0000 Subject: [PATCH] [clang][GNU] Pass -t through to the linker --- clang/lib/Driver/ToolChains/Gnu.cpp | 2 +- clang/test/Driver/Xlinker-args.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 09bb2df4391027..769c78ddd57abc 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -671,7 +671,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, } } - Args.AddAllArgs(CmdArgs, options::OPT_T); + Args.addAllArgs(CmdArgs, {options::OPT_T, options::OPT_t}); const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); C.addCommand(std::make_unique(JA, *this, diff --git a/clang/test/Driver/Xlinker-args.c b/clang/test/Driver/Xlinker-args.c index b2a913e7cef620..87f98a0cdbd837 100644 --- a/clang/test/Driver/Xlinker-args.c +++ b/clang/test/Driver/Xlinker-args.c @@ -8,7 +8,7 @@ /// -T is reordered to the last to make sure -L takes precedence. // RUN: %clang -target x86_64-pc-linux-gnu -### \ -// RUN: -e _start -T a.lds -Xlinker one -Xlinker --no-demangle \ +// RUN: -e _start -T a.lds -t -Xlinker one -Xlinker --no-demangle \ // RUN: -Wl,two,--no-demangle,three -Xlinker four -z five -r %s 2> %t // RUN: FileCheck -check-prefix=LINUX < %t %s @@ -23,7 +23,7 @@ // DARWIN-NOT: --no-demangle // DARWIN: "one" "two" "three" "four" "-z" "five" "-r" -// LINUX: "--no-demangle" "-e" "_start" "one" "two" "three" "four" "-z" "five" "-r" {{.*}} "-T" "a.lds" +// LINUX: "--no-demangle" "-e" "_start" "one" "two" "three" "four" "-z" "five" "-r" {{.*}} "-T" "a.lds" "-t" // MINGW: "--no-demangle" // AIX: "-b" "one" "-b" "two"