loader: 匿名 mmap 传递 fd `0` 并在 BSD 上出现 `EINVAL` 错误
作者: Torrekie创建于 2026年7月15日更新于 2026年7月15日
错误描述
loader/mmap_unix.go 目前调用 SYS_MMAP 并使用 MAP_ANON | MAP_PRIVATE,但将 0 作为 fd 参数传递:
syscall.RawSyscall6(
syscall.SYS_MMAP,
0,
uintptr(nb),
_RW,
_AP,
0, // fd
0, // offset
)这导致 JIT 内存分配在 BSD 发行版上出现 EINVAL 错误。
内容来源: bytedance/sonic