mirror of https://github.com/microsoft/clang.git
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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258698 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7f54710ee0
commit
04d1d959fd
|
@ -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))
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
// Test split stack ld flags.
|
||||
//
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target i386-unknown-linux -fsplit-stack \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
||||
// RUN: --sysroot=%S/Inputs/basic_linux_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LINUX-I386 %s
|
||||
//
|
||||
// CHECK-LINUX-I386: "--wrap=pthread_create"
|
||||
//
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: -target x86_64-unknown-linux -fsplit-stack \
|
||||
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
||||
// RUN: --sysroot=%S/Inputs/basic_linux_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-LINUX-X86-64 %s
|
||||
//
|
||||
// CHECK-LINUX-X86-64: "--wrap=pthread_create"
|
Loading…
Reference in New Issue