Skip to content

Commit 231875e

Browse files
committed
[Clang] Always set -z now linker option on Fuchsia
This should be the default on Fuchsia. Differential Revision: https://reviews.llvm.org/D70576
1 parent 2bb1545 commit 231875e

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

clang/lib/Driver/ToolChains/Fuchsia.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ void fuchsia::Linker::ConstructJob(Compilation &C, const JobAction &JA,
4646
// handled somewhere else.
4747
Args.ClaimAllArgs(options::OPT_w);
4848

49+
CmdArgs.push_back("-z");
50+
CmdArgs.push_back("now");
51+
4952
const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
5053
if (llvm::sys::path::filename(Exec).equals_lower("ld.lld") ||
5154
llvm::sys::path::stem(Exec).equals_lower("ld.lld")) {

clang/test/Driver/fuchsia.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
// CHECK-X86_64: "-fsanitize=safe-stack"
2424
// CHECK: "-stack-protector" "2"
2525
// CHECK: "-fno-common"
26-
// CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic" "-z" "separate-loadable-segments"
26+
// CHECK: {{.*}}ld.lld{{.*}}" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments"
2727
// CHECK: "--sysroot=[[SYSROOT]]"
2828
// CHECK: "-pie"
2929
// CHECK: "--build-id"

clang/test/Driver/fuchsia.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
// CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"
2323
// CHECK: "-internal-isystem" "{{.*[/\\]}}include{{/|\\\\}}c++{{/|\\\\}}v1"
2424
// CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"
25-
// CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic"
25+
// CHECK: {{.*}}ld.lld{{.*}}" "-z" "now" "-z" "rodynamic" "-z" "separate-loadable-segments"
2626
// CHECK: "--sysroot=[[SYSROOT]]"
2727
// CHECK: "-pie"
2828
// CHECK: "--build-id"

0 commit comments

Comments
 (0)