gnu: opensbi: Build with default gcc, with microarch rv64g.

* gnu/packages/firmware.scm (make-opensbi-package): Remove specific #:xgcc for
the cross-toolchain, there is not reason for it now.  Also set the microarch to
rv64g, so that it builds.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Josselin Poiret 2023-03-21 09:59:36 +01:00 committed by Ludovic Courtès
parent ef7ddc8e8b
commit 2a4fa1d127
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -486,7 +486,7 @@ (define* (make-opensbi-package platform name #:optional (arch "riscv64"))
(native-inputs
`(,@(if (and (not (string-prefix? "riscv64" (%current-system)))
(string-prefix? "riscv64" arch))
`(("cross-gcc" ,(cross-gcc "riscv64-linux-gnu" #:xgcc gcc-7))
`(("cross-gcc" ,(cross-gcc "riscv64-linux-gnu"))
("cross-binutils" ,(cross-binutils "riscv64-linux-gnu")))
'())))
(arguments
@ -499,6 +499,11 @@ (define* (make-opensbi-package platform name #:optional (arch "riscv64"))
`("CC=gcc"))
"FW_PAYLOAD=n"
"V=1")
;; Direct __asm__ is used with fence.i instructions, which are not
;; available in the generic riscv ISA. We need a micro-arch with
;; support for it, and rv64g is the official ISA with support for
;; fence.i.
#:configure-flags (list "-march=rv64g")
#:phases
(modify-phases %standard-phases
(delete 'configure)