From 2d0c897212d0551966b26eae986209ea31c4f032 Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Wed, 17 Nov 2021 11:06:03 -0800 Subject: [PATCH] [Driver] Support for compressed debug info on Fuchsia Pass the --compress-debug-sections=zlib argument to the linker when the use of compressed debug info is requested. Differential Revision: https://reviews.llvm.org/D114115 --- clang/lib/Driver/ToolChains/Fuchsia.cpp | 1 + clang/test/Driver/fuchsia.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Fuchsia.cpp b/clang/lib/Driver/ToolChains/Fuchsia.cpp index 9e0b259dfcae7..6fe6f7f82feb2 100644 --- a/clang/lib/Driver/ToolChains/Fuchsia.cpp +++ b/clang/lib/Driver/ToolChains/Fuchsia.cpp @@ -127,6 +127,7 @@ void fuchsia::Linker::ConstructJob(Compilation &C, const JobAction &JA, D.getLTOMode() == LTOK_Thin); } + addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs); AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs, diff --git a/clang/test/Driver/fuchsia.c b/clang/test/Driver/fuchsia.c index 888f6b1a2c4b7..07bb12b547ddf 100644 --- a/clang/test/Driver/fuchsia.c +++ b/clang/test/Driver/fuchsia.c @@ -253,6 +253,15 @@ // CHECK-THINLTO: "-plugin-opt=thinlto" // CHECK-THINLTO: "-plugin-opt=jobs=8" +// RUN: %clang %s -### --target=x86_64-unknown-fuchsia \ +// RUN: --sysroot=%S/platform \ +// RUN: -Og -gz 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-GZ +// CHECK-GZ: "{{[^"]*}}clang{{[^"]*}}" +// CHECK-GZ: "--compress-debug-sections=zlib" +// CHECK-GZ: "{{[^"]*}}ld.lld{{[^"]*}}" +// CHECK-GZ: "--compress-debug-sections=zlib" + // RUN: %clang %s -### --target=x86_64-unknown-fuchsia \ // RUN: -gsplit-dwarf -g -c %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=CHECK-SPLIT-DWARF