riscv-non-isa / riscv-elf-psabi-doc

A RISC-V ELF psABI Document
https://jira.riscv.org/browse/RVG-4
Creative Commons Attribution 4.0 International
702 stars 163 forks source link

ilp32e issue #269

Open kito-cheng opened 2 years ago

kito-cheng commented 2 years ago

Review comment come from @anderslindgren-iar and Anders Berg(IAR) https://lists.riscv.org/g/tech-toolchain-runtime/message/344

ILP32E Calling Convention

Anders: This will be changed! Anders: The usage of the D ISA must/will be possible and the stack alignment can be altered by request (as part of the "deviations"). There will also be a special ABI for RV32E that is more suited for the upcoming code size ISA with PUSH and POP instructions.

jrtc27 commented 2 years ago
  1. It's marked as not stable
  2. It's documenting the existing ABI implemented in GCC; we don't have a time machine to change it
kito-cheng commented 2 years ago

Last psABI call we've discussed the possibility solution for ilp32e with D ext.

Here is two way to resolve this issue:

  1. Fixing ilp32e to make it possible work with D-ext correct, e.g. change the stack alignment to 64 bits.
  2. Define ilp32ef and ilp32ed AND forbid D use with ilp32e calling convention

The target of fixing this issue would be next release, we need PoC and more experiment data to making decision.