build/cross-tools: explicitly set ISA for riscv64

* Enable TLS for riscv64. For now select a dummy
  implementation.
* RISC-V has a register (tp) dedicated to TLS
* All the "desktop-like" RV64 chipsets implement GC
* Same ISA we currently build for... but calls it out
  in-case defaults change.

Change-Id: I623b6e5c309b6a6e80ec378e456b2335c561269d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3632
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Alexander von Gluck IV
2021-01-20 19:38:01 +00:00
committed by Alex von Gluck IV
parent 5ec64c5cdd
commit d123849688
3 changed files with 32 additions and 22 deletions
+1
View File
@@ -41,6 +41,7 @@ rule ArchitectureSetup architecture
case ppc : archFlags += -mcpu=440fp ;
case arm : archFlags += -march=armv7-a -mfloat-abi=hard ;
case x86 : archFlags += -march=pentium ;
case riscv64 : archFlags += -march=rv64gc ;
}
if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
# TODO: These should be included in Clang's compiler specs.
+6 -6
View File
@@ -62,13 +62,13 @@ arm-*)
gdbTarget="arm-unknown-elf"
;;
riscv*-*)
binutilsConfigureArgs="--disable-multilib"
gccConfigureArgs="--disable-multilib"
gdbConfigureArgs="--disable-multilib"
binutilsConfigureArgs=" --with-arch=rv64gc"
gccConfigureArgs=" --with-arch=rv64gc"
gdbConfigureArgs=""
# TODO: Disable building with TLS support for riscv until implemented.
binutilsConfigureArgs="$binutilsConfigureArgs --disable-tls"
gccConfigureArgs="$gccConfigureArgs --disable-tls"
binutilsConfigureArgs="$binutilsConfigureArgs --disable-multilib"
gccConfigureArgs="$gccConfigureArgs --disable-multilib"
gdbConfigureArgs="$gdbConfigureArgs --disable-multilib"
;;
powerpc-*)
binutilsConfigureArgs="--disable-multilib"