concurrencykit / ck

Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.
http://concurrencykit.org/
Other
2.34k stars 312 forks source link

build: Add riscv32 and riscv64 support #194

Closed zetalog closed 2 years ago

zetalog commented 2 years ago

This patch adds riscv32/riscv64 cross compilation support. Notice that this patch only enforces default psABI for RV32G and RV64G.

Reference: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc Signed-off-by: Lv Zheng zhenglv@smart-core.cn

jrtc27 commented 2 years ago

Why is this using ilp32 and lp64 when lp64d is the standard ABI to use for Unix things (lp64 is for when you don't have an FPU) and the default ABI for FreeBSD and 64-bit Linux, and ilp32d for 32-bit Linux (strictly, anything other than bare-metal -unknown-elf triples default to double-precision hard float ABIs)?

jrtc27 commented 2 years ago

In fact, why even hard-code an ABI? You should really just be picking up the toolchain's default.