# gen_stubs: Require less manual intervention and produce better output\. · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/fc8a4c445d6f01ad0e0dab21129fa1594c55aae8)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: fc8a4c445d6f01ad0e0dab21129fa1594c55aae8

Requested commit: fc8a4c445d6f01ad0e0dab21129fa1594c55aae8

Commit: fc8a4c445d6f01ad0e0dab21129fa1594c55aae8

Tree: 157e075d2b741a5eb45d4a1c5d3c169608fadc36

Author: Alex Rønne Petersen

Committer: Alex Rønne Petersen

## Message

```
gen_stubs: Require less manual intervention and produce better output.

The tool will now skip over undefined symbols. These can only occur as a result
of building musl without compiler-rt, i.e. -rtlib=none. Thanks to this, it's no
longer necessary to patch Zig's compiler-rt, nor is it necessary to maintain a
symbol blacklist.

See the updated instructions here: https://github.com/ziglang/zig/wiki/Updating-libc#updating-the-libcs-file

Additionally, the tool now produces slightly more compact output by recognizing
symbols that are defined for a single arch, for a family of arches, or only for
arches using 32-bit or 64-bit time as their primary ABI.

Finally, the tool now supports all architectures that we can emit code for, with
the single exception of x86_64-linux-muslx32. (x32 currently fails with a ton of
relocation errors, leading me to believe that it might be an LLVM or LLD bug.)

```

## Parents

- [cc73d7ad749df8d53da442faa2e7af5d69357b33](https://git.cafe/gitcafe/zig/commit/cc73d7ad749df8d53da442faa2e7af5d69357b33?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/fc8a4c445d6f01ad0e0dab21129fa1594c55aae8?format=markdown)
