Skip to content

Conversation

@aleksapaunovic-htec
Copy link

This series adds initial big-endian support:

  • Add --with-endian flag.
  • GCC currently doesn't support RVV in big-endian mode. Therefore, we remove the rv64gcv-lp64d multilib option when building the Linux toolchain.

We are working on upstreaming GDB and GCC changes as well. The GDB changes are required for running big-endian tests, as QEMU currently has no big-endian support.

Copy link
Collaborator

@cmuellner cmuellner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for providing this PR!

Besides the issue with the linux headers, I have two more comments:

  • We should probaby add at least one CI/CD job to build a BE toolchain
  • What is the status of the GCC testsuite when building a BE toolchain?

#ifndef _ASM_RISCV_BYTEORDER_H
#define _ASM_RISCV_BYTEORDER_H

#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All linux headers are copied without modification as we don't want downstream changes here.
If we add such non-upstream changes, then there is a risk of breaking the BE build each time we update the linux headers.

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