Skip to content

Baseline macOS x64 — now works on Macs with no AVX (bun + opencode 1.18.1)

Choose a tag to compare

@tobocop2 tobocop2 released this 15 Jul 06:31

Fixes the second SIGILL: these builds now run on Macs with no AVX at all (Westmere/Nehalem, 2010 and older), not just Sandy/Ivy Bridge.

The previous release fixed startup but still crashed once code tiered up, because JavaScriptCore hardcodes "AVX is available" on macOS instead of asking the CPU. Rebuilt against oven-sh/WebKit#292.

Thanks to @WolfgangFahl, who tested the previous release on a real Mac Pro 5,1 (Xeon X5690, Westmere, macOS 14.7.8) and reported that --version worked but JIT-heavy code still died — which isolated it to the JIT rather than the build flags.

Verified

Real Xeon X5690 (Westmere) and an Apple M1 under Rosetta 2 (which also reports no AVX) agree exactly:

test previous release this release
bun --version ✅ rc=0 ✅ rc=0
JIT-heavy loop ❌ rc=132 SIGILL ✅ rc=0
opencode --version ❌ rc=132 SIGILL ✅ rc=0

A 14-case suite (YarrJIT SIMD regex, strings/UTF-8, JSON, DFG/FTL tier-up, typed arrays) passes on this build; the previous one SIGILLs partway through the same suite on the same machine.

Also fixed

opencode --version now reports 1.18.1 instead of 0.0.0--<timestamp>.

Notes

The bun inside is built from bun main @ 1e35118008 and self-reports 1.4.0-canary.1. It is not an official 1.3.14/1.18.x baseline — the release tag tracks opencode's version, not bun's.

873868a92fc1de5eb3bbae81a85e234186eb00f2b51da956e1835017d813d824  bun-darwin-x64-baseline
afe0fe21fc9b6ea43c33239aac990bb180c1025cc2d7044db5fab5ef4fc60915  opencode-darwin-x64-baseline

Upstream: WebKit#290 (baseline WebKit) → bun#34207 (build lane) → WebKit#292 (JIT AVX detection). Tracked in bun#34215.