#926751 gcc-riscv64-linux-gnu: Doesn't work with all valid abi combinations.

#926751#5
Date:
2019-04-10 02:05:39 UTC
From:
To:
Dear Maintainer,


My RISC V64 implementation doesn't have floating point, so I'm trying
to compile with
 -march=rv64imac -mabi=lp64

I see:
$  riscv64-linux-gnu-gcc -mabi=lp64 -march=rv64imac x.c
In file included from /usr/riscv64-linux-gnu/include/features.h:448,
                 from /usr/riscv64-linux-gnu/include/bits/libc-header-start.h:3,
                 from /usr/riscv64-linux-gnu/include/stdio.h:27,
                 from x.c:1:
/usr/riscv64-linux-gnu/include/gnu/stubs.h:8:11: fatal error: gnu/stubs-lp64.h: No such file or directory
 # include <gnu/stubs-lp64.h>
 compilation terminated.

for a simple hello world program.

It looks as if only march=rv64imafdc/mabi=lp64d is supported; please
can the other valid combinations be supported as well?

The current list is:

march=rv32i/mabi=ilp32
march=rv32im/mabi=ilp32
march=rv32iac/mabi=ilp32
march=rv32imac/mabi=ilp32
march=rv32imafc/mabi=ilp32f
march=rv64imac/mabi=lp64
march=rv64imafdc/mabi=lp64d

Peter C

#926751#10
Date:
2019-04-10 05:29:22 UTC
From:
To:
these are glibc headers.
#926751#19
Date:
2019-04-10 11:34:48 UTC
From:
To:
control: tag -1 + wontfix

The RISC-V Debian port indeed targets rv64gc/lp64d:

https://wiki.debian.org/RISC-V#Hardware_baseline_and_ABI_choice

There is no plan to support other ABIs so far, so tagging this bug as
wontfix.

Note that upstream git glibc doesn't even support 32-bit ABIs.