╭ search ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╮ ╭────╮ ╭ clone ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╮ │ │ │http│ ssh │ │ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─╯ ╰────╯ ╰ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ╯
╭─────────╮╭─────────────────────────╮ │view diff││view files at this commit│ ╰─────────╯╰─────────────────────────╯ ╭ author ───────╮╭────────────────────╮ │alex@alexrp.com││27 days ago │ ╰───────────────╯╰2026-09-17 13:27:52Z╯ ╭ stats ────────────╮ │lines changed: 113 │ │lines removed: 80 │ │bytes removed: 1626│ │files changed: 2 │ ╰───────────────────╯ ╭ message ────────────────────────────────────────────────────╮ │std.Target.Query: rework native ABI detection a bit │ │ │ │Native detection of the libc version now only happens if the │ │ABI component in │ │the triple is native (= omitted in text form), rather than │ │the OS component. So │ │the ABI is either fully native or fully specified with no │ │weird in-between. I │ │think this much more closely matches people's mental model │ │for this stuff; │ │Matthew and I struggled to make sense of the current │ │semantics for almost an │ │hour, and ultimately agreed that it really shouldn't work the│ │way it did prior │ │to this patch. │ │ │ │This is technically a breaking change because │ │`native-native-gnu` no longer │ │means "use glibc with the detected native glibc version", and│ │this concept is no │ │longer expressible. I don't consider this a great loss; I │ │couldn't find any │ │usage in the wild that would be broken by this, and I would │ │argue it was more │ │likely to be an unhelpful surprise. On the other hand, this │ │patch makes │ │`native-native-gnueabihf` on e.g. an `x86_64-linux-gnu` │ │system use the default │ │glibc version rather than the native one - which was a │ │behavior I found bizarre. │ │ │ │I think the ABI detection code is now also much easier to │ │reason about. │ │ │ │closes https://codeberg.org/ziglang/zig/issues/36863 │ ╰─────────────────────────────────────────────────────────────╯