Skip to content
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

refactor: remove use of cartesi/toolchain #286

Open
wants to merge 1 commit into
base: fix/new-lint-errors
Choose a base branch
from

Conversation

edubart
Copy link
Contributor

@edubart edubart commented Oct 23, 2024

This PR completely removes references to cartesi/toolchain, instead it build its own toolchain image using the following two toolchains available in Debian Bookworm:

  • gcc-riscv64-unknown-elf=12.2.0-14+11+b1
  • g++-12-riscv64-linux-gnu=12.2.0-13cross1

The riscv64-unknown-elf is used to compile uarch tests, machine tests and uarch ram, this toolchain comes with both rv64i lp64 and rv64gc lp64d headers/libraries to be compiled in freestanding mode. However it does not come with libstdc++ headers, to solve this the g++-12-riscv64-linux-gnu toolchain is installed and used just to add include paths for libstc++ headers when compiling uarch ram.

This include additional checks to make sure uarch RAM contains only supported instructions (code borrowed from Perna's PR #108 )

@edubart edubart added the enhancement New feature or request label Oct 23, 2024
@edubart edubart self-assigned this Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

1 participant