0007-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. From 82d171efa2dd426e5ff91c81075bf10aa81d881d Mon Sep 17 00:00:00 2001
  2. From: Jun Yuan Tan <junyuan.tan@starfivetech.com>
  3. Date: Tue, 9 Nov 2021 10:08:10 +0800
  4. Subject: [PATCH 07/34] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
  5. musl driver will need to add ssp_nonshared for stack_check_local
  6. on the linker cmdline when using stack protector commands on
  7. compiler cmdline
  8. Rebased to LLVM 14.0.0 by Jun Yuan Tan
  9. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  10. Signed-off-by: Jun Yuan Tan <junyuan.tan@starfivetech.com>
  11. ---
  12. clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
  13. 1 file changed, 6 insertions(+)
  14. diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
  15. index 9aca45312bb0..278064d9edca 100644
  16. --- a/clang/lib/Driver/ToolChains/Gnu.cpp
  17. +++ b/clang/lib/Driver/ToolChains/Gnu.cpp
  18. @@ -630,6 +630,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
  19. if (IsIAMCU)
  20. CmdArgs.push_back("-lgloss");
  21. + if (ToolChain.getTriple().isMusl() &&
  22. + (Args.hasArg(options::OPT_fstack_protector) ||
  23. + Args.hasArg(options::OPT_fstack_protector_strong) ||
  24. + Args.hasArg(options::OPT_fstack_protector_all))) {
  25. + CmdArgs.push_back("-lssp_nonshared");
  26. + }
  27. if (IsStatic || IsStaticPIE)
  28. CmdArgs.push_back("--end-group");
  29. else
  30. --
  31. 2.33.1