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

Closed
opened 2026-07-31 21:05:15 +00:00 by mathieu · 3 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`
Member

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.
Member

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

Correctif proposé et validé dans la PR #37 : https://git.2027a.net/mathieu/murmur/pulls/37.
Author
Owner

Résolu sur main par fc487c5 (intégré dans e3896f5). MemfdCreate portable Linux avec seals ; test WAV sous -race, cross-builds 386/riscv64/arm64 validés. La PR #38 revendique également des corrections déjà intégrées ; son traitement reste indépendant.

Résolu sur main par fc487c5 (intégré dans e3896f5). MemfdCreate portable Linux avec seals ; test WAV sous -race, cross-builds 386/riscv64/arm64 validés. La PR #38 revendique également des corrections déjà intégrées ; son traitement reste indépendant.
Sign in to join this conversation.
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
2027a/murmur#34
No description provided.