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

1234567891011121314151617181920212223242526272829303132
  1. From c35e16f856192a090696b033bc5a32af18f592ac Mon Sep 17 00:00:00 2001
  2. From: Khem Raj <raj.khem@gmail.com>
  3. Date: Thu, 19 May 2016 21:11:06 -0700
  4. Subject: [PATCH] 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. Upstream-Status: Pending
  9. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  10. ---
  11. clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
  12. 1 file changed, 6 insertions(+)
  13. diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
  14. index 4f2340316654..cc9ed4f6b8ac 100644
  15. --- a/clang/lib/Driver/ToolChains/Gnu.cpp
  16. +++ b/clang/lib/Driver/ToolChains/Gnu.cpp
  17. @@ -653,6 +653,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
  18. if (IsIAMCU)
  19. CmdArgs.push_back("-lgloss");
  20. + if (ToolChain.getTriple().isMusl() &&
  21. + (Args.hasArg(options::OPT_fstack_protector) ||
  22. + Args.hasArg(options::OPT_fstack_protector_strong) ||
  23. + Args.hasArg(options::OPT_fstack_protector_all))) {
  24. + CmdArgs.push_back("-lssp_nonshared");
  25. + }
  26. if (IsStatic || IsStaticPIE)
  27. CmdArgs.push_back("--end-group");
  28. else