ci: add build coverage for riscv64
This is already a primary architecture in Ubuntu, and more distributions are adding support for it. It's too slow for emulation, but we can at least verify that compilation works. Use the arm worker, for two reasons: - it is already set up with ports.ubuntu.com so we don't have to muck with apt sources manually - it is used a lot less than the x86 worker
This commit is contained in:
@@ -96,6 +96,9 @@ if [[ -n "$CROSS_ARCH" ]]; then
|
||||
armhf)
|
||||
triplet=arm-linux-gnueabihf
|
||||
;;
|
||||
riscv64)
|
||||
triplet=riscv64-linux-gnu
|
||||
;;
|
||||
*)
|
||||
fatal "Unsupported cross architecture: $CROSS_ARCH"
|
||||
;;
|
||||
|
||||
@@ -42,6 +42,9 @@ jobs:
|
||||
- env: { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "bfd", CROSS_ARCH: "armhf" }
|
||||
runner: [ ubuntu-24.04-arm ]
|
||||
python-version: ''
|
||||
- env: { COMPILER: "gcc", COMPILER_VERSION: "13", LINKER: "bfd", CROSS_ARCH: "riscv64" }
|
||||
runner: [ ubuntu-24.04-arm ]
|
||||
python-version: ''
|
||||
- env: { COMPILER: "clang", COMPILER_VERSION: "18", LINKER: "lld" }
|
||||
runner: [ ubuntu-24.04-s390x ]
|
||||
python-version: ''
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
[binaries]
|
||||
c = 'riscv64-linux-gnu-gcc'
|
||||
cpp = 'riscv64-linux-gnu-g++'
|
||||
ar = 'riscv64-linux-gnu-gcc-ar'
|
||||
nm = 'riscv64-linux-gnu-gcc-nm'
|
||||
strip = 'riscv64-linux-gnu-strip'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
pkg_config_libdir = '/usr/lib/riscv64-linux-gnu/pkgconfig:/usr/share/pkgconfig'
|
||||
c_args = ['-O2', '-pipe', '-g', '-feliminate-unused-debug-types']
|
||||
c_link_args = ['-fuse-ld=bfd', '-Wl,-O1', '-Wl,--hash-style=gnu', '-Wl,--as-needed', '-Wl,-z,relro,-z,now,-z,noexecstack']
|
||||
cpp_args = []
|
||||
cpp_link_args = ['-fuse-ld=bfd', '-Wl,-O1', '-Wl,--hash-style=gnu', '-Wl,--as-needed', '-Wl,-z,relro,-z,now,-z,noexecstack']
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'riscv64'
|
||||
cpu = 'riscv64'
|
||||
endian = 'little'
|
||||
Reference in New Issue
Block a user