From b17bc536d3e53a62aeea3dbd62c0a160e536891f Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 25 Jan 2016 18:29:16 +0000 Subject: Pass --wrap=pthread_create to linker for -fsplit-stack. From https://gcc.gnu.org/ml/gcc-patches/2010-09/msg01807.html -fsplit-stack should pass --wrap=pthread_create to linker for -fsplit-stack It is needed to initialize the stack guard. This fixes PR 20148. Patch by H.J Lu! llvm-svn: 258698 --- clang/lib/Driver/Tools.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/Driver/Tools.cpp') diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 6a1517f1807..574bf5cd77d 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -9001,6 +9001,9 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (WantPthread && !isAndroid) CmdArgs.push_back("-lpthread"); + if (Args.hasArg(options::OPT_fsplit_stack)) + CmdArgs.push_back("--wrap=pthread_create"); + CmdArgs.push_back("-lc"); if (Args.hasArg(options::OPT_static)) -- cgit v1.2.3