Skip to content

Commit

Permalink
Add arm-unknown-linux-gnueabi testing to CI.
Browse files Browse the repository at this point in the history
Replace arm-unknown-linux-gnueabihf in `test` since we already have
another gnueabihf target.
  • Loading branch information
briansmith committed Oct 2, 2023
1 parent 3878b1b commit 39e022c
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 7 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ jobs:
- aarch64-pc-windows-msvc
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- arm-unknown-linux-gnueabihf
- arm-unknown-linux-gnueabi
- armv7-linux-androideabi
- armv7-unknown-linux-musleabihf
- i686-pc-windows-msvc
Expand Down Expand Up @@ -228,7 +228,7 @@ jobs:
- target: aarch64-unknown-linux-musl
host_os: ubuntu-22.04

- target: arm-unknown-linux-gnueabihf
- target: arm-unknown-linux-gnueabi
host_os: ubuntu-22.04

- target: armv7-linux-androideabi
Expand Down Expand Up @@ -507,9 +507,9 @@ jobs:
# TODO: targets
target:
- aarch64-unknown-linux-gnu # Has assembly
- i686-unknown-linux-gnu # Has assembly
# TODO: arm-unknown-linux-gnueabi # Has assembly but doesn't build w/ clang
# TODO: armv7-unknown-linux-gnueabihf # Has assembly but doesn't have profiler builtins
- i686-unknown-linux-gnu # Has assembly
# TODO: powerpc-unknown-linux-gnu No assembly 32-bit big-endian but doesn't have profiler builtins
- powerpc64le-unknown-linux-gnu # No assembly 64-bit little-endian with flags
- riscv64gc-unknown-linux-gnu # No assembly 64-bit little-endian without flags
Expand Down
20 changes: 17 additions & 3 deletions mk/cargo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ IFS=$'\n\t'

rustflags_self_contained="-Clink-self-contained=yes -Clinker=rust-lld"
qemu_aarch64="qemu-aarch64 -L /usr/aarch64-linux-gnu"
qemu_arm="qemu-arm -L /usr/arm-linux-gnueabihf"
qemu_arm_gnueabi="qemu-arm -L /usr/arm-linux-gnueabi"
qemu_arm_gnueabihf="qemu-arm -L /usr/arm-linux-gnueabihf"
qemu_mipsel="qemu-mipsel -L /usr/mipsel-linux-gnu"
qemu_powerpc="qemu-ppc -L /usr/powerpc-linux-gnu"
qemu_powerpc64le="qemu-ppc64le -L /usr/powerpc64le-linux-gnu"
Expand Down Expand Up @@ -70,22 +71,35 @@ case $target in
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="$rustflags_self_contained"
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUNNER="$qemu_aarch64"
;;
arm-unknown-linux-gnueabi)
export CC_arm_unknown_linux_gnueabi=arm-linux-gnueabi-gcc
export AR_arm_unknown_linux_gnueabi=arm-linux-gnueabi-gcc-ar
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER="$qemu_arm_gnueabi"
;;
arm-unknown-linux-gnueabihf)
# XXX: clang cannot build the sha256 and x25519 assembly.
export CC_arm_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
export AR_arm_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc-ar
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$qemu_arm"
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$qemu_arm_gnueabihf"
;;
armv7-linux-androideabi)
export CC_armv7_linux_androideabi=$android_tools/armv7a-linux-androideabi19-clang
export AR_armv7_linux_androideabi=$android_tools/llvm-ar
export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=$android_tools/armv7a-linux-androideabi19-clang
;;
armv7-unknown-linux-gnueabihf)
export CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
export AR_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc-ar
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="$qemu_arm_gnueabihf"
;;
armv7-unknown-linux-musleabihf)
export CC_armv7_unknown_linux_musleabihf=clang-$llvm_version
export AR_armv7_unknown_linux_musleabihf=llvm-ar-$llvm_version
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUSTFLAGS="$rustflags_self_contained"
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="$qemu_arm"
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="$qemu_arm_gnueabihf"
;;
i686-unknown-linux-gnu)
export CC_i686_unknown_linux_gnu=clang-$llvm_version
Expand Down
8 changes: 7 additions & 1 deletion mk/install-build-tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,13 @@ case $target in
install_packages \
qemu-user
;;
--target=arm-unknown-linux-gnueabihf)
--target=arm-unknown-linux-gnueabi)
install_packages \
qemu-user \
gcc-arm-linux-gnueabi \
libc6-dev-armhf-cross
;;
--target=arm-unknown-linux-gnueabihf|--target=armv7-unknown-linux-gnueabihf)
install_packages \
qemu-user \
gcc-arm-linux-gnueabihf \
Expand Down

0 comments on commit 39e022c

Please sign in to comment.