diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2023-10-04 15:16:52 +0200 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-10-04 11:21:56 -0700 |
| commit | 8b4e3b6aee61a26e7229ea30728e6c5e31c7cd0b (patch) | |
| tree | c78414c59ad23d9dd24b8989cced5589203370a2 /src/Compilation.zig | |
| parent | a306bfcd8eec166906ce2839bc7ff86ba6335376 (diff) | |
| download | zig-8b4e3b6aee61a26e7229ea30728e6c5e31c7cd0b.tar.gz zig-8b4e3b6aee61a26e7229ea30728e6c5e31c7cd0b.zip | |
comp: add support for -fdata-sections
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 002c3cb614..28b67ff734 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -623,6 +623,7 @@ pub const InitOptions = struct { formatted_panics: ?bool = null, rdynamic: bool = false, function_sections: bool = false, + data_sections: bool = false, no_builtin: bool = false, is_native_os: bool, is_native_abi: bool, @@ -1193,6 +1194,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { cache.hash.add(omit_frame_pointer); cache.hash.add(link_mode); cache.hash.add(options.function_sections); + cache.hash.add(options.data_sections); cache.hash.add(options.no_builtin); cache.hash.add(strip); cache.hash.add(link_libc); @@ -1572,6 +1574,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { .is_native_os = options.is_native_os, .is_native_abi = options.is_native_abi, .function_sections = options.function_sections, + .data_sections = options.data_sections, .no_builtin = options.no_builtin, .allow_shlib_undefined = options.linker_allow_shlib_undefined, .bind_global_refs_locally = options.linker_bind_global_refs_locally orelse false, @@ -4903,6 +4906,10 @@ pub fn addCCArgs( try argv.append("-ffunction-sections"); } + if (comp.bin_file.options.data_sections) { + try argv.append("-fdata-sections"); + } + if (comp.bin_file.options.no_builtin) { try argv.append("-fno-builtin"); } @@ -6405,6 +6412,7 @@ fn buildOutputFromZig( .optimize_mode = comp.compilerRtOptMode(), .link_mode = .Static, .function_sections = true, + .data_sections = true, .no_builtin = true, .want_sanitize_c = false, .want_stack_check = false, |
