Skip to content

protos/linux_risc: add LoongArch support #3143

protos/linux_risc: add LoongArch support

protos/linux_risc: add LoongArch support #3143

Workflow file for this run

name: Check for compilation failures
on: [push, pull_request]
jobs:
build:
name: Check for compilation failures
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- name: Install dependencies
run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel git autoconf automake nasm curl mtools llvm clang lld
- name: Checkout code
uses: actions/checkout@v4
- name: Git config
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Build the bootloader (LLVM)
run: ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=llvm --enable-werror --enable-all && make all && make maintainer-clean
- name: Set cross GCC version
run: echo "GCC_VERSION=14.2.0" >> $GITHUB_ENV
- name: Download GCC cross toolchains
run: |
set -e
for i in aarch64 loongarch64 riscv64 x86_64; do
curl -Lo x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/${{ env.GCC_VERSION }}/x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz
tar -xf x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz
done
- name: Build the bootloader (GNU, x86)
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/x86_64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=x86_64-linux --enable-werror --enable-bios --enable-uefi-ia32 --enable-uefi-x86-64 && make all && make maintainer-clean
- name: Build the bootloader (GNU, aarch64)
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/aarch64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=aarch64-linux --enable-werror --enable-uefi-aarch64 && make all && make maintainer-clean
- name: Build the bootloader (GNU, riscv64)
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/riscv64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=riscv64-linux --enable-werror --enable-uefi-riscv64 && make all && make maintainer-clean
- name: Build the bootloader (GNU, loongarch64)
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/loongarch64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=loongarch64-linux --enable-werror --enable-uefi-loongarch64 && make all && make maintainer-clean