mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-13 20:36:02 +01: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
@ -2,7 +2,7 @@ variables:
|
|||||||
windows_vm: windows-2019
|
windows_vm: windows-2019
|
||||||
ubuntu_vm: ubuntu-22.04
|
ubuntu_vm: ubuntu-22.04
|
||||||
macos_vm: macOS-12
|
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
|
# Add '-u 0' options for Azure pipelines, otherwise we get "permission
|
||||||
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
|
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
|
||||||
# since our $(ci_runner_image) user is not root.
|
# since our $(ci_runner_image) user is not root.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Grab our configured image. The source for this is found
|
# Grab our configured image. The source for this is found
|
||||||
# in the u-boot tree at tools/docker/Dockerfile
|
# 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.
|
# We run some tests in different order, to catch some failures quicker.
|
||||||
stages:
|
stages:
|
||||||
|
@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y)
|
|||||||
CMODEL = medany
|
CMODEL = medany
|
||||||
endif
|
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)
|
-mcmodel=$(CMODEL)
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
||||||
|
@ -263,6 +263,17 @@ class KconfigScanner:
|
|||||||
if params['arch'] == 'arm' and params['cpu'] == 'armv8':
|
if params['arch'] == 'arm' and params['cpu'] == 'armv8':
|
||||||
params['arch'] = 'aarch64'
|
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
|
return params
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# This Dockerfile is used to build an image containing basic stuff to be used
|
# This Dockerfile is used to build an image containing basic stuff to be used
|
||||||
# to build U-Boot and run our test suites.
|
# to build U-Boot and run our test suites.
|
||||||
|
|
||||||
FROM ubuntu:jammy-20220801
|
FROM ubuntu:jammy-20221003
|
||||||
MAINTAINER Tom Rini <trini@konsulko.com>
|
MAINTAINER Tom Rini <trini@konsulko.com>
|
||||||
LABEL Description=" This image is for building U-Boot inside a container"
|
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-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-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-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
|
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
|
# 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 "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-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 "\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 "\nsandbox = x86_64" >> ~/.buildman
|
||||||
RUN /bin/echo -e "\nx86 = i386" >> ~/.buildman;
|
RUN /bin/echo -e "\nx86 = i386" >> ~/.buildman;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user