[P2][build] Rendre memfd Linux indépendant de l’architecture ou documenter la restriction #34

Open
opened 2026-07-31 21:05:15 +00:00 by mathieu · 2 comments
Owner

Constat

snapshot_linux.go cible tout Linux mais memfdCreate n'existe que pour amd64/arm64 (internal/audio/wav/memfd_amd64.go, memfd_arm64.go). Les builds 386 et riscv64 échouent alors que README présente un build Linux générique.

Tâche

Préférer une implémentation Linux portable, par exemple unix.MemfdCreate, en conservant les seals. Si la restriction est intentionnelle, l'exprimer nettement dans les build tags, CI et documentation.

Critères d'acceptation

  • La décision de support est explicite et cohérente entre code, CI et README.
  • Si portable: amd64, arm64, riscv64 et 386 cross-buildent.
  • Les tests natifs de sealing restent verts.

Validation

go test -race ./internal/audio/wav && GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build ./cmd/murmur && GOOS=linux GOARCH=386 CGO_ENABLED=0 go build ./cmd/murmur

## Constat `snapshot_linux.go` cible tout Linux mais `memfdCreate` n'existe que pour amd64/arm64 (`internal/audio/wav/memfd_amd64.go`, `memfd_arm64.go`). Les builds 386 et riscv64 échouent alors que README présente un build Linux générique. ## Tâche Préférer une implémentation Linux portable, par exemple `unix.MemfdCreate`, en conservant les seals. Si la restriction est intentionnelle, l'exprimer nettement dans les build tags, CI et documentation. ## Critères d'acceptation - La décision de support est explicite et cohérente entre code, CI et README. - Si portable: amd64, arm64, riscv64 et 386 cross-buildent. - Les tests natifs de sealing restent verts. ## Validation `go test -race ./internal/audio/wav && GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build ./cmd/murmur && GOOS=linux GOARCH=386 CGO_ENABLED=0 go build ./cmd/murmur`

Correctif proposé dans la PR #37 : API memfd Linux portable via x/sys/unix, seals conservés. Tests WAV sous race et cross-builds amd64/arm64/riscv64/386 réussis, y compris riscv64/386 avec Go 1.23.12.

Correctif proposé dans la PR #37 : API memfd Linux portable via x/sys/unix, seals conservés. Tests WAV sous race et cross-builds amd64/arm64/riscv64/386 réussis, y compris riscv64/386 avec Go 1.23.12.

Correctif proposé et validé dans la PR #37 : #37.

Correctif proposé et validé dans la PR #37 : https://git.2027a.net/mathieu/murmur/pulls/37.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/murmur#34
No description provided.