tools/ci.sh: Let RV64 use a source-built version of libffi.

This commit lets the RV64 port use the version of libffi that is bundled
as a submodule in the MicroPython source tree, as the packaged libffi
library coming from Ubuntu's RISC-V repository trashes foreign function
call results on exit.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
This commit is contained in:
Alessandro Gatti 2024-09-19 20:27:04 +02:00 committed by Damien George
parent 9796625457
commit bb3c711c04

View File

@ -421,6 +421,7 @@ CI_UNIX_OPTS_QEMU_ARM=(
CI_UNIX_OPTS_QEMU_RISCV64=(
CROSS_COMPILE=riscv64-linux-gnu-
VARIANT=coverage
MICROPY_STANDALONE=1
)
function ci_unix_build_helper {
@ -691,16 +692,12 @@ function ci_unix_qemu_arm_run_tests {
}
function ci_unix_qemu_riscv64_setup {
. /etc/os-release
for repository in "${VERSION_CODENAME}" "${VERSION_CODENAME}-updates" "${VERSION_CODENAME}-security"
do
sudo add-apt-repository -y -n "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports ${repository} main"
done
sudo apt-get update
sudo dpkg --add-architecture riscv64
sudo apt-get install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu libffi-dev:riscv64
sudo apt-get install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
sudo apt-get install qemu-user
qemu-riscv64 --version
sudo mkdir /etc/qemu-binfmt
sudo ln -s /usr/riscv64-linux-gnu/ /etc/qemu-binfmt/riscv64
}
function ci_unix_qemu_riscv64_build {