aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorkcbanner <kcbanner@gmail.com>2023-03-02 22:15:31 -0500
committerkcbanner <kcbanner@gmail.com>2023-03-25 16:26:48 -0400
commit113f80bcf793b2841635d136e561bcc0bbe89086 (patch)
treec72baba10ceab70b4f5fc23e6cb99261347ba5a6 /src/main.zig
parent37f6f7990e882ac9869513cf920f8cd0c4850039 (diff)
downloadzig-113f80bcf793b2841635d136e561bcc0bbe89086.tar.gz
zig-113f80bcf793b2841635d136e561bcc0bbe89086.zip
coff: change dynamicbase to default to true (to match lld), change it to pass the negation to lld, and add --no-dynamicbase
build: expose linker_dynamicbase on CompileStep and map it to emit --no-dynamicbase
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main.zig b/src/main.zig
index 961d649d38..479c7e518c 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -778,7 +778,7 @@ fn buildOutputType(
var linker_z_max_page_size: ?u64 = null;
var linker_tsaware = false;
var linker_nxcompat = false;
- var linker_dynamicbase = false;
+ var linker_dynamicbase = true;
var linker_optimization: ?u8 = null;
var linker_module_definition_file: ?[]const u8 = null;
var test_evented_io = false;
@@ -1371,6 +1371,8 @@ fn buildOutputType(
linker_opt_bisect_limit = std.math.lossyCast(i32, parseIntSuffix(arg, "-fopt-bisect-limit=".len));
} else if (mem.eql(u8, arg, "--eh-frame-hdr")) {
link_eh_frame_hdr = true;
+ } else if (mem.eql(u8, arg, "--no-dynamicbase")) {
+ linker_dynamicbase = false;
} else if (mem.eql(u8, arg, "--emit-relocs")) {
link_emit_relocs = true;
} else if (mem.eql(u8, arg, "-fallow-shlib-undefined")) {
@@ -2105,8 +2107,8 @@ fn buildOutputType(
linker_tsaware = true;
} else if (mem.eql(u8, arg, "--nxcompat")) {
linker_nxcompat = true;
- } else if (mem.eql(u8, arg, "--dynamicbase")) {
- linker_dynamicbase = true;
+ } else if (mem.eql(u8, arg, "--no-dynamicbase")) {
+ linker_dynamicbase = false;
} else if (mem.eql(u8, arg, "--high-entropy-va")) {
// This option does not do anything.
} else if (mem.eql(u8, arg, "--export-all-symbols")) {