This is a (hopefully) temporary fork of OCaml for building Semgrep. It may be archived or removed without notice. Do not depend on it.
We currently use OCaml 5.4 to build Semgrep. The changes applied atop the upstream 5.4.0 release tag, found on the 5.4.0-semgrep branch, are, latest to oldest:
| Description and Commit | Upstream status |
|---|---|
Fix miscompilation / liveness errors for string operations (4046c81) |
Upstreamed in ocaml#14010; in 5.4.1, not 5.4.0 |
fix: sigaltstack size for musl on certain Intel CPUs (897e96a) |
Upstreamed in ocaml#14933 |
fix: print errno on sigaltstack errors (8dc3801) |
Upstreamed in ocaml#14928 |
fix: update macos-lldb-amd64 reference for macos-15 lldb (614ff63) |
Mirrors upstream ocaml/ocaml@9c56208026; not in 5.4.0 |
fix: keep configure.ac under 80 columns for check-typo (b5b017b) |
Semgrep-specific |
feat: modify ocaml version to |
Semgrep-specific (fork version string) |
feat: Domains inherit |
Upstreamed in ocaml#14416; on trunk, not in 5.4.0 |
fix(CI): disable ocamltest for MSVC builds (e0603cf) |
Semgrep-specific |
ci: remove 'changes updated' workflow (2009fc7) |
Semgrep-specific |
chore: bump intel macos runner to |
Semgrep-specific |
fix(windows): Fix racy socketpair on Windows (1a798b9) |
Upstreamed in ocaml#14461; on trunk, not in 5.4.0 |
Domain.join re-raises uncaught exceptions with backtrace (33513db) |
Upstreamed in ocaml#14363; on trunk, not in 5.4.0 |
fix: hard code domain stack sizes to 8 MiB (69ce566) |
Semgrep-specific; workaround for ocaml#14195 |
We also have a deprecated 5.3.0-semgrep branch which we previously used.