[PATCH v3 15/19] RISC-V: Build Infastructure for 32-bit

Maciej W. Rozycki macro@wdc.com
Tue Jul 14 23:55:28 GMT 2020


Hi Alistair,

 The heading uses odd capitalisation and wording, how about:

RISC-V: Build infastructure for 32-bit port

?

On Sun, 12 Jul 2020, Alistair Francis via Libc-alpha wrote:

> This patch lays out the top-level orginazition of the RISC-V 32-bit port. It
> contains all the Implies files as well as various other fragments of
> build infastructure for the RISC-V 32-bit port.

 How about:

This patch lays out the top-level organization of the RISC-V 32-bit port.  
It provides all the Implies files as well as various other fragments of 
the build infastructure.

?  [Oh, I can see where it all has been copied and pasted from.]

> diff --git a/sysdeps/unix/sysv/linux/riscv/Makefile b/sysdeps/unix/sysv/linux/riscv/Makefile
> index 301b082398..6c11f7fd9a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/Makefile
> +++ b/sysdeps/unix/sysv/linux/riscv/Makefile
> @@ -7,11 +7,13 @@ ifeq ($(subdir),stdlib)
>  gen-as-const-headers += ucontext_i.sym
>  endif
>  
> -abi-variants := lp64 lp64d
> +abi-variants := ilp32 ilp32d lp64 lp64d
>  
>  ifeq (,$(filter $(default-abi),$(abi-variants)))
>  $(error Unknown ABI $(default-abi), must be one of $(abi-variants))
>  endif
>  
> +abi-ilp32-condition   := !defined __LP64__ && defined __riscv_float_abi_soft
> +abi-ilp32d-condition  := !defined __LP64__ && defined __riscv_float_abi_double
>  abi-lp64-condition    := defined __LP64__ && defined __riscv_float_abi_soft
>  abi-lp64d-condition   := defined __LP64__ && defined __riscv_float_abi_double

 I feel like these all ought to use __WORDSIZE so as to be consistent, 
also with the majority of other ports, and inclusive for RV32 rather than 
exclusive.  That if FAOD:

abi-ilp32-condition   := __WORDSIZE == 32 && defined __riscv_float_abi_soft
abi-ilp32d-condition  := __WORDSIZE == 32 && defined __riscv_float_abi_double
abi-lp64-condition    := __WORDSIZE == 64 && defined __riscv_float_abi_soft
abi-lp64d-condition   := __WORDSIZE == 64 && defined __riscv_float_abi_double

This way the ABI condition is tied to a property that we can reasonably 
expect is not going to ever change and won't have to be adjusted if we add 
support for say RV128 sometime.  Let me know if you disagree.

 Otherwise OK.

  Maciej


More information about the Libc-alpha mailing list