diff options
| author | kcbanner <kcbanner@gmail.com> | 2023-03-02 22:15:31 -0500 |
|---|---|---|
| committer | kcbanner <kcbanner@gmail.com> | 2023-03-25 16:26:48 -0400 |
| commit | 113f80bcf793b2841635d136e561bcc0bbe89086 (patch) | |
| tree | c72baba10ceab70b4f5fc23e6cb99261347ba5a6 /src/main.zig | |
| parent | 37f6f7990e882ac9869513cf920f8cd0c4850039 (diff) | |
| download | zig-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.zig | 8 |
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")) { |
