aboutsummaryrefslogtreecommitdiff
path: root/src/link.zig
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-09-08 20:08:44 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2024-09-10 12:27:57 -0400
commite0469773542e49c9a76df6746afa10f22d44dae4 (patch)
tree439c5f47cef779ece68ab57c812975241715620a /src/link.zig
parent6459212ebe20da1607ea3b56bff37b7ace019343 (diff)
downloadzig-e0469773542e49c9a76df6746afa10f22d44dae4.tar.gz
zig-e0469773542e49c9a76df6746afa10f22d44dae4.zip
codegen: implement output to the `.debug_info` section
Diffstat (limited to 'src/link.zig')
-rw-r--r--src/link.zig12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/link.zig b/src/link.zig
index 508bc81352..2894302c11 100644
--- a/src/link.zig
+++ b/src/link.zig
@@ -330,6 +330,11 @@ pub const File = struct {
}
}
+ pub const DebugInfoOutput = union(enum) {
+ dwarf: *Dwarf.WipNav,
+ plan9: *Plan9.DebugInfoOutput,
+ none,
+ };
pub const UpdateDebugInfoError = Dwarf.UpdateError;
pub const FlushDebugInfoError = Dwarf.FlushError;
@@ -673,9 +678,14 @@ pub const File = struct {
}
pub const RelocInfo = struct {
- parent_atom_index: u32,
+ parent: Parent,
offset: u64,
addend: u32,
+
+ pub const Parent = union(enum) {
+ atom_index: u32,
+ debug_output: DebugInfoOutput,
+ };
};
/// Get allocated `Nav`'s address in virtual memory.