Skip to content
This repository was archived by the owner on Jan 6, 2026. It is now read-only.
This repository was archived by the owner on Jan 6, 2026. It is now read-only.

Invalid DWARF emitted by Zig on macOS 13 #182

@kubkon

Description

@kubkon

Updating for writergate in #181 revealed a weird issue with what seems like malformed DWARF output by the Zig compiler but only on macOS 13 (newer releases of macOS behave as expected).

As you can see below, the compile unit header is parsed as .{ .length = 0, .dw_fmt = dwarf32, .version = 0 } which points at malformed DWARF. Example error collected from GitHub's CI run:

test
+- test-system-tools
   +- test-macho-reexports-zig
      +- exec
         +- cc (main) failure
debug: TODO unimplemented -demangle option
debug: TODO unimplemented -lto_library /Applications/Xcode_15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib option
warning: /Users/runner/.cache/zig/o/bee416279e7c6025c3f8e993674c7644/liba.a(a.o): object file was built for newer platform version: expected 13.0.0, got 13.7.6
error: /Users/runner/.cache/zig/o/bee416279e7c6025c3f8e993674c7644/liba.a(a.o): unhandled DWARF version: 0
    note: parsed DWARF header: { .length = 0, .dw_fmt = dwarf32, .version = 0 }
error: /Users/runner/.cache/zig/o/bee416279e7c6025c3f8e993674c7644/liba.a(a.o): unexpected error when parsing DWARF info: InvalidVersion
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: the following command exited with error code 1:
cc -fno-lto -O0 -o /Users/runner/.cache/zig/o/2ad3e5c1410c951d33fae181f990a52f/main -B/Users/runner/.cache/zig/o/9eff5976869c7e76effa6a740d146400 /Users/runner/.cache/zig/o/bca150cca5148c82e0b7a328c4cac7de/main.o /Users/runner/.cache/zig/o/bee416279e7c6025c3f8e993674c7644/liba.a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions