Skip to content

Adapt to the change in CompCert semantics between CompCert 3.7 and 3.8 - #857

Merged
andrew-appel merged 7 commits into
masterfrom
compcert_3.8
Jun 10, 2026
Merged

Adapt to the change in CompCert semantics between CompCert 3.7 and 3.8#857
andrew-appel merged 7 commits into
masterfrom
compcert_3.8

Conversation

@andrew-appel

Copy link
Copy Markdown
Collaborator

The painful thing is a new restriction in CompCert's load and store semantics, that the offset must be <= Ptrofs.modulus. This requires preserving a new invariant.

@andrew-appel

Copy link
Copy Markdown
Collaborator Author

This P.R. adapts to AbsInt/CompCert@142fc76

andrew-appel referenced this pull request in AbsInt/CompCert Jun 9, 2026
Fail if the addressed bytes straddle the 2^32 or 2^64 boundary.

This can happen for memory chunks where alignment is less than size,
e.g. a 64-bit access 4-aligned at address 0xFFFF_FFFC on a 32-bit machine.
@andrew-appel
andrew-appel marked this pull request as ready for review June 9, 2026 14:43
1. Use InteractionTrees from coq-released opam install, not submodule
2. Fix dry_mem_lemmas for recent Clight operational semantics change
@andrew-appel andrew-appel changed the title Start the adaptation to the CompCert trunk that will eveutually be CompCert 3.8 Adapt to the change in CompCert semantics between CompCert 3.7 and 3.8 Jun 10, 2026
@andrew-appel
andrew-appel merged commit cbee87e into master Jun 10, 2026
21 of 22 checks passed
@andrew-appel
andrew-appel deleted the compcert_3.8 branch June 17, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant