aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-06-20 10:13:39 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-06-20 13:39:33 +0200
commitea9b7a0626c0191aa513549773c4d3b04e04de7c (patch)
treeca93cad2889dc9fb1d0e9229e3ced706ecb3de73 /src/Compilation.zig
parent98138ba78c1540830a4fdb0537ed6ad5c7b57e7a (diff)
downloadzig-ea9b7a0626c0191aa513549773c4d3b04e04de7c.tar.gz
zig-ea9b7a0626c0191aa513549773c4d3b04e04de7c.zip
macho: round down pagezero size to page size
If page aligned requested pagezero size is 0, skip generating __PAGEZERO segment. Add misc improvements to the pipeline, and correctly transfer the requested __PAGEZERO size to the linker.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 98d69ee78e..525835ce61 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -1744,6 +1744,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation {
.native_darwin_sdk = options.native_darwin_sdk,
.install_name = options.install_name,
.entitlements = options.entitlements,
+ .pagezero_size = options.pagezero_size,
});
errdefer bin_file.destroy();
comp.* = .{
@@ -2476,7 +2477,7 @@ fn addNonIncrementalStuffToCacheManifest(comp: *Compilation, man: *Cache.Manifes
man.hash.addListOfBytes(comp.bin_file.options.framework_dirs);
man.hash.addListOfBytes(comp.bin_file.options.frameworks);
try man.addOptionalFile(comp.bin_file.options.entitlements);
- if (comp.bin_file.options.pagezero_size) |value| man.hash.add(value);
+ man.hash.addOptional(comp.bin_file.options.pagezero_size);
// COFF specific stuff
man.hash.addOptional(comp.bin_file.options.subsystem);