aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2021-06-24 10:44:16 +0200
committerVeikka Tuominen <git@vexu.eu>2021-09-04 12:18:38 +0300
commiteb5e4ac495356dd0dae680ca316e18b848c9efa3 (patch)
treed4d9baab92fae3185fac1bc59f622f681314d1da /src/main.zig
parent594271f8dba0143280990ac2e01dd68a791c05b0 (diff)
downloadzig-eb5e4ac495356dd0dae680ca316e18b848c9efa3.tar.gz
zig-eb5e4ac495356dd0dae680ca316e18b848c9efa3.zip
link: Recognize -z origin|noexecstack|now|relro linker args.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main.zig b/src/main.zig
index d58c3525c5..8b5fbba90d 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -589,6 +589,10 @@ fn buildOutputType(
var linker_bind_global_refs_locally: ?bool = null;
var linker_z_nodelete = false;
var linker_z_defs = false;
+ var linker_z_origin = false;
+ var linker_z_noexecstack = false;
+ var linker_z_now = false;
+ var linker_z_relro = false;
var linker_tsaware = false;
var linker_nxcompat = false;
var linker_dynamicbase = false;
@@ -1393,6 +1397,14 @@ fn buildOutputType(
linker_z_nodelete = true;
} else if (mem.eql(u8, z_arg, "defs")) {
linker_z_defs = true;
+ } else if (mem.eql(u8, z_arg, "origin")) {
+ linker_z_origin = true;
+ } else if (mem.eql(u8, z_arg, "noexecstack")) {
+ linker_z_noexecstack = true;
+ } else if (mem.eql(u8, z_arg, "now")) {
+ linker_z_now = true;
+ } else if (mem.eql(u8, z_arg, "relro")) {
+ linker_z_relro = true;
} else {
warn("unsupported linker arg: -z {s}", .{z_arg});
}
@@ -2077,6 +2089,10 @@ fn buildOutputType(
.linker_bind_global_refs_locally = linker_bind_global_refs_locally,
.linker_z_nodelete = linker_z_nodelete,
.linker_z_defs = linker_z_defs,
+ .linker_z_origin = linker_z_origin,
+ .linker_z_noexecstack = linker_z_noexecstack,
+ .linker_z_now = linker_z_now,
+ .linker_z_relro = linker_z_relro,
.linker_tsaware = linker_tsaware,
.linker_nxcompat = linker_nxcompat,
.linker_dynamicbase = linker_dynamicbase,