aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2025-10-05 06:56:07 -0400
committerAndrew Kelley <andrew@ziglang.org>2025-10-06 11:27:39 -0700
commit969f2cff8258fc91d7037704ddac4e6f4f037029 (patch)
tree12e10ee8516dde750fddf7c74b6bdf9e40a5adc1 /src/Compilation.zig
parent2962db333f43c8bb10a1e2ad4cdd19dfab26515b (diff)
downloadzig-969f2cff8258fc91d7037704ddac4e6f4f037029.tar.gz
zig-969f2cff8258fc91d7037704ddac4e6f4f037029.zip
Elf2: implement virtual allocation
This allows segments to be moved around in the output file without needing to reapply relocations until virtual address space is exhaused.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig40
1 files changed, 11 insertions, 29 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 6ae57f3492..7c5f699d83 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -2718,35 +2718,17 @@ pub fn destroy(comp: *Compilation) void {
}
comp.crt_files.deinit(gpa);
}
-
- if (comp.libunwind_static_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.libcxx_static_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.libcxxabi_static_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.compiler_rt_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.compiler_rt_obj) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.ubsan_rt_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.ubsan_rt_obj) |*crt_file| {
- crt_file.deinit(gpa);
- }
- if (comp.fuzzer_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
-
- if (comp.zigc_static_lib) |*crt_file| {
- crt_file.deinit(gpa);
- }
+ if (comp.libcxx_static_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.libcxxabi_static_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.libunwind_static_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.tsan_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.ubsan_rt_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.ubsan_rt_obj) |*crt_file| crt_file.deinit(gpa);
+ if (comp.zigc_static_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.compiler_rt_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.compiler_rt_obj) |*crt_file| crt_file.deinit(gpa);
+ if (comp.compiler_rt_dyn_lib) |*crt_file| crt_file.deinit(gpa);
+ if (comp.fuzzer_lib) |*crt_file| crt_file.deinit(gpa);
if (comp.glibc_so_files) |*glibc_file| {
glibc_file.deinit(gpa);