-
Notifications
You must be signed in to change notification settings - Fork 16
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
Fix memory protection in regression tests #481
Conversation
This data section is here. Does someone know how this can be added to linker script, so instruction LOAD segment would be also writeable? |
I decided to manually exclude tests from write protection. It will be also useful for tests with self-modifying code, which can't be detected for linker script. |
d1dd839
to
a4df4c9
Compare
@tilk Can you change the https://github.com/orgs/kuznia-rdzeni/packages/container/package/riscv-toolchain package visibility from internal, please? If we are working on forks, it can't be pulled for manual run of CI benchmark workflow on forked branch. |
Done. |
|
May be worth reporting upstream to the tests repo. |
I found a bug in #466 - all memory segments were set to all RWX flags. After fixing that, regression tests started to fail.
First bug is simple - wrong flag on data memory (only in cocotb backend)
Second bug is problematic. In
rv32uc-rvc
test there is adata
symbol and not.data
(!) section that is embedded into instruction memory. This section is written by rvc tests, but not flagged as writeable in ELF file. I don't have currently solution to it (ignore for this specific test, or maybe data section can be added to linker script?)