-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rv32imc C.SWSP test5 writes a word outside the binary #37
Comments
This does need to be fixed; if we are only testing signatures within the test_data section, then this test is effectively bypassed, since its signature isn't checked |
This is a great catch, and more importantly indicates the necessity of the mutation fault testing to be completed for all suites - up until now we only checked this for the RV32I tests Can somebody please fix the test and issue a pull request ? |
If we start to use the SIGUPD macro, I don't think this can happen in
general, though this test deliberately stored values in non-contiguous
locations (don't quite understand why). This test could to use a SIGBASE
macro to set the base to a specific value, which would catch this error
In general, SIGUPD and SIGBASE should do bounds checking and give an
assembler error if basereg+offset is outside the bounds of DATA_START and
DATA_END, and that would catch this type of error.
I am proposing a BASEUPD macro that would update the base register with the
hidden offset value maintained by the SIGUPD macro (this is needed for
tests that use SIGUPD inside loops),
Here, though, I can see that an OFFSETUPD macro that manually sets the
hidden offset instead would work better.
All of these macros should check that base+offset is within bounds.
…On Tue, Dec 10, 2019 at 7:05 AM eroom ***@***.***> wrote:
This is a good catch, and more importantly indicates the necessity of the
mutation fault testing to be completed for all suites - up until now we
only checked this for the RV32I tests
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#37>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHPXVJS74Y7TOEVPCFDVLC3QX6V2XANCNFSM4GTQFKIA>
.
|
Changes in this pull-request: * restructuring the riscv-test-suite to indicate clearly what is deprecated, wip and usable tests. * based on the above fixed the directory structure for riscv-targets where-ever applicable. Only tested riscvOVPsim and spike. * fixed script bugs for spike as well * renamed rv32i/I-IO.S to rv32i/I-IO-01.S along with necessary changes to the reference files and Makefrag * renamed mbadaddr csr to mtval as raised in issue #31 * C.SWSP-01.S test updated to fix issue #37 Close: #8 , #31 , #30 , #32 , #33 , #37, #47 , #67 , #96
Changes in this pull-request: * restructuring the riscv-test-suite to indicate clearly what is deprecated, wip and usable tests. * based on the above fixed the directory structure for riscv-targets where-ever applicable. Only tested riscvOVPsim and spike. * fixed script bugs for spike as well * renamed rv32i/I-IO.S to rv32i/I-IO-01.S along with necessary changes to the reference files and Makefrag * renamed mbadaddr csr to mtval as raised in issue riscv-non-isa#31 * C.SWSP-01.S test updated to fix issue riscv-non-isa#37 Close: riscv-non-isa#8 , riscv-non-isa#31 , riscv-non-isa#30 , riscv-non-isa#32 , riscv-non-isa#33 , riscv-non-isa#37, riscv-non-isa#47 , riscv-non-isa#67 , riscv-non-isa#96
Related issue: #5
https://github.com/riscv/riscv-compliance/blob/d8e99ee55d5fa3460c0a2f0898dd917a616763fb/riscv-test-suite/rv32imc/src/C-SWSP.S#L86
The test performs a write to offset 252, which is outside of section test_data (32 words).
The text was updated successfully, but these errors were encountered: