Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8339741

RISC-V: C ABI breakage for integer on stack

XMLWordPrintable

    • b15
    • riscv

        When passing any integer shorter than XLEN(/64) on stack it must be enlarged and sign extended to XLEN(/64).
        These are now passed as 32-bit.
        Only reason why this is only P3 is because how gcc 'happens' to load integer shorter than XLEN(/64). (lw/lh/lb).
        While LLVM uses ld for these thus we immediately get into trouble when calling a native method with enough arguments.

              rehn Robbin Ehn
              rehn Robbin Ehn
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: