Skip to content

Enable RVE elf flag for cheriot ABIs #127

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

Closed
wants to merge 1 commit into from

Conversation

jwnrt
Copy link

@jwnrt jwnrt commented Mar 23, 2025

The EF_RISCV_RVE flag in ELF headers must match for all objects when linking. CHERIoT targets use XLEN=16 16 integer registers (E), so I think this should be set.

Tested by linking to objects that did have the RVE flag set. Before this patch the linker complained about the mismatch:

cannot link object files with different EF_RISCV_RVE

@resistor
Copy link
Collaborator

Change seems fine to me. Can we add a test for it?

@resistor
Copy link
Collaborator

Also, this is a binary compatibility break, so we'll need to notify folks to rebuild their stuff

This must match other objects that have `EF_RISCV_RVE` set in their ELF
header. CHERIoT targets use XLEN=16 (E).
@jwnrt jwnrt force-pushed the cheriot-elf-rve branch from 18ee43f to 23c5531 Compare March 23, 2025 22:04
@jwnrt
Copy link
Author

jwnrt commented Mar 23, 2025

I've added a test that checks the flags for specifically the cheriot CPU and ABI

@davidchisnall
Copy link

I’d probably hold off merging this until after we’ve fixed #9. We need to be reporting Xcheriotv1 as an extension and putting this in the ELF as well.

@resistor
Copy link
Collaborator

This will be subsumed by #140

@jwnrt
Copy link
Author

jwnrt commented Apr 30, 2025

Perfect, thanks for your help

@jwnrt jwnrt closed this Apr 30, 2025
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.

3 participants