From 5937825128564ab750d20467a91d6776afe8cc73 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 26 Jun 2014 01:08:54 +0000 Subject: Forward -u to the linker on gnutools toolchains Summary: The BSDs and Darwin all forward the whole 'u' group, but gcc only forwards -u so far as I can tell. I only forward -u, since that's a minimal change, and many people object to magically recognizing and forwarding linker arguments. Reviewers: chandlerc, joerg Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4304 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211756 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/Tools.cpp | 1 + test/Driver/linux-ld.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index f652fadf0f..1f89d39f0d 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -7158,6 +7158,7 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA, } Args.AddAllArgs(CmdArgs, options::OPT_L); + Args.AddAllArgs(CmdArgs, options::OPT_u); const ToolChain::path_list Paths = ToolChain.getFilePaths(); diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c index c476ec24f9..6cc143f2c2 100644 --- a/test/Driver/linux-ld.c +++ b/test/Driver/linux-ld.c @@ -1119,3 +1119,9 @@ // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>& 1 \ // RUN: | FileCheck --check-prefix=CHECK-PG %s // CHECK-PG: gcrt1.o + +// GCC forwards -u to the linker. +// RUN: %clang -u asdf --target=x86_64-unknown-linux -### %s \ +// RUN: --sysroot=%S/Inputs/basic_linux_tree 2>& 1 \ +// RUN: | FileCheck --check-prefix=CHECK-u %s +// CHECK-u: "-u" "asdf" -- cgit v1.2.3