mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 23:47:24 +00:00
Merge branch '2022-10-07-riscv-toolchain-update'
- Update RISC-V to use 32bit or 64bit toolchains, depending on if we're building for 32bit or 64bit CPUs. This requires updating the Docker container as well to have the 32bit toolchain.
This commit is contained in:
commit
f5717231ab
5 changed files with 25 additions and 5 deletions
|
@ -2,7 +2,7 @@ variables:
|
|||
windows_vm: windows-2019
|
||||
ubuntu_vm: ubuntu-22.04
|
||||
macos_vm: macOS-12
|
||||
ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20220801-09Aug2022
|
||||
ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20221003-07Oct2022
|
||||
# Add '-u 0' options for Azure pipelines, otherwise we get "permission
|
||||
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
|
||||
# since our $(ci_runner_image) user is not root.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Grab our configured image. The source for this is found
|
||||
# in the u-boot tree at tools/docker/Dockerfile
|
||||
image: trini/u-boot-gitlab-ci-runner:jammy-20220801-09Aug2022
|
||||
image: trini/u-boot-gitlab-ci-runner:jammy-20221003-07Oct2022
|
||||
|
||||
# We run some tests in different order, to catch some failures quicker.
|
||||
stages:
|
||||
|
|
|
@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y)
|
|||
CMODEL = medany
|
||||
endif
|
||||
|
||||
ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \
|
||||
RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C)
|
||||
|
||||
# Newer binutils versions default to ISA spec version 20191213 which moves some
|
||||
# instructions from the I extension to the Zicsr and Zifencei extensions.
|
||||
toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei)
|
||||
ifeq ($(toolchain-need-zicsr-zifencei),y)
|
||||
RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei
|
||||
endif
|
||||
|
||||
ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \
|
||||
-mcmodel=$(CMODEL)
|
||||
|
||||
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
||||
|
|
|
@ -263,6 +263,17 @@ class KconfigScanner:
|
|||
if params['arch'] == 'arm' and params['cpu'] == 'armv8':
|
||||
params['arch'] = 'aarch64'
|
||||
|
||||
# fix-up for riscv
|
||||
if params['arch'] == 'riscv':
|
||||
try:
|
||||
value = self._conf.syms.get('ARCH_RV32I').str_value
|
||||
except:
|
||||
value = ''
|
||||
if value == 'y':
|
||||
params['arch'] = 'riscv32'
|
||||
else:
|
||||
params['arch'] = 'riscv64'
|
||||
|
||||
return params
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# This Dockerfile is used to build an image containing basic stuff to be used
|
||||
# to build U-Boot and run our test suites.
|
||||
|
||||
FROM ubuntu:jammy-20220801
|
||||
FROM ubuntu:jammy-20221003
|
||||
MAINTAINER Tom Rini <trini@konsulko.com>
|
||||
LABEL Description=" This image is for building U-Boot inside a container"
|
||||
|
||||
|
@ -24,6 +24,7 @@ RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_
|
|||
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-nios2-linux.tar.xz | tar -C /opt -xJ
|
||||
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-powerpc-linux.tar.xz | tar -C /opt -xJ
|
||||
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-riscv64-linux.tar.xz | tar -C /opt -xJ
|
||||
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-riscv32-linux.tar.xz | tar -C /opt -xJ
|
||||
RUN wget -O - https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/x86_64-gcc-11.1.0-nolibc-sh2-linux.tar.xz | tar -C /opt -xJ
|
||||
|
||||
# Manually install other toolchains
|
||||
|
@ -217,6 +218,5 @@ RUN /bin/echo -e "kernelorg = /opt/gcc-11.1.0-nolibc/*" >> ~/.buildman
|
|||
RUN /bin/echo -e "arc = /opt/arc_gnu_2021.03_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
|
||||
RUN /bin/echo -e "\n[toolchain-prefix]\nxtensa = /opt/2020.07/xtensa-dc233c-elf/bin/xtensa-dc233c-elf-" >> ~/.buildman;
|
||||
RUN /bin/echo -e "\n[toolchain-alias]\nsh = sh2" >> ~/.buildman
|
||||
RUN /bin/echo -e "\nriscv = riscv64" >> ~/.buildman
|
||||
RUN /bin/echo -e "\nsandbox = x86_64" >> ~/.buildman
|
||||
RUN /bin/echo -e "\nx86 = i386" >> ~/.buildman;
|
||||
|
|
Loading…
Reference in a new issue