From cc1cbf7cccc28c0e7aa13260af2101c0e312ae81 Mon Sep 17 00:00:00 2001 From: Edd Dawson Date: Thu, 25 Jul 2024 16:58:57 +0100 Subject: [PATCH] [PS5][Driver] Ensure stack sizes are emitted by LTO ... when requested. Upstreaming a private patch. SIE tracker: TOOLCHAIN-16575 --- clang/lib/Driver/ToolChains/PS4CPU.cpp | 4 ++++ clang/test/Driver/stack-size-section.c | 1 + 2 files changed, 5 insertions(+) diff --git a/clang/lib/Driver/ToolChains/PS4CPU.cpp b/clang/lib/Driver/ToolChains/PS4CPU.cpp index 813a0fbedd2b1..f883f29f0c8ca 100644 --- a/clang/lib/Driver/ToolChains/PS4CPU.cpp +++ b/clang/lib/Driver/ToolChains/PS4CPU.cpp @@ -266,6 +266,10 @@ void tools::PS5cpu::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (UseJMC) AddLTOFlag("-enable-jmc-instrument"); + if (Args.hasFlag(options::OPT_fstack_size_section, + options::OPT_fno_stack_size_section, false)) + AddLTOFlag("-stack-size-section"); + if (Arg *A = Args.getLastArg(options::OPT_fcrash_diagnostics_dir)) AddLTOFlag(Twine("-crash-diagnostics-dir=") + A->getValue()); diff --git a/clang/test/Driver/stack-size-section.c b/clang/test/Driver/stack-size-section.c index 71b9f85692b99..7cd41e491a817 100644 --- a/clang/test/Driver/stack-size-section.c +++ b/clang/test/Driver/stack-size-section.c @@ -14,6 +14,7 @@ // RUN: %clang -### --target=x86_64-linux-gnu -flto -fstack-size-section %s 2>&1 | FileCheck %s --check-prefix=LTO // RUN: %clang -### --target=x86_64-linux-gnu -flto -fstack-size-section -fno-stack-size-section %s 2>&1 | FileCheck %s --check-prefix=LTO-NO +// RUN: %clang -### --target=x86_64-sie-ps5 -fstack-size-section %s 2>&1 | FileCheck %s --check-prefix=LTO // LTO: "-plugin-opt=-stack-size-section" // LTO-NO-NOT: "-plugin-opt=-stack-size-section"