Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
More information about the bugfix:
Pj_l
, as it is only used for goto inside a function. (We can suppose that the case where an address does not fit is very unlikely for gotos inside a function; moreover, even if we have a huge function where it happens, we would then have more important problems to deal with such as the conditional jumps which are addressed on 12bits only).Pj_s
printer rule as above implies a modification in the Asm semantics of CompCert, as the pseudo instruction clobbers x6. This modification itself implies some small changes in the proof, and the need to declare x6 as a scratch register. It must thus be invisible from Mach.I modified the Asm semantics, as well as the Machregs builtins parameters, because x6 can not be used as an input for builtins anymore. Thus, we use x8 instead, and, consequentially, I adapted Asmexpand untrusted file to change builtins functions and corresponding assertions.
Don't hesitate to tell me if I forgot something here, but I think this commit solves the issue. The non-regression tests are passing successfully.