Add powerpc-unknown-linux-gnu support.

This commit is contained in:
Brian Smith 2023-10-01 14:16:18 -07:00
parent baa823bb4d
commit 6e82dd3c75
5 changed files with 21 additions and 7 deletions

View File

@ -504,6 +504,7 @@ jobs:
target:
- aarch64-unknown-linux-gnu
- i686-unknown-linux-gnu
- powerpc-unknown-linux-gnu
- powerpc64le-unknown-linux-gnu
- riscv64gc-unknown-linux-gnu
- s390x-unknown-linux-gnu
@ -530,6 +531,9 @@ jobs:
- target: i686-unknown-linux-gnu
host_os: ubuntu-22.04
- target: powerpc-unknown-linux-gnu
host_os: ubuntu-22.04
- target: powerpc64le-unknown-linux-gnu
host_os: ubuntu-22.04

View File

@ -40,6 +40,8 @@
#elif defined(__MIPSEL__) && defined(__LP64__)
#define OPENSSL_64_BIT
#define OPENSSL_MIPS64
#elif (defined(__PPC__) || defined(__powerpc__)) && defined(_BIG_ENDIAN)
#define OPENSSL_32_BIT
#elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN)
#define OPENSSL_64_BIT
#define OPENSSL_PPC64LE

View File

@ -21,6 +21,7 @@ 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_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"
qemu_riscv64="qemu-riscv64 -L /usr/riscv64-linux-gnu"
qemu_s390x="qemu-s390x -L /usr/s390x-linux-gnu"
@ -102,6 +103,13 @@ case $target in
export CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER=mipsel-linux-gnu-gcc
export CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_RUNNER="$qemu_mipsel"
;;
powerpc-unknown-linux-gnu)
export CC_powerpc_unknown_linux_gnu=clang-$llvm_version
export AR_powerpc_unknown_linux_gnu=llvm-ar-$llvm_version
export CFLAGS_powerpc_unknown_linux_gnu="--sysroot=/usr/powerpc-linux-gnu"
export CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc
export CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="$qemu_powerpc"
;;
powerpc64le-unknown-linux-gnu)
export CC_powerpc64le_unknown_linux_gnu=clang-$llvm_version
export AR_powerpc64le_unknown_linux_gnu=llvm-ar-$llvm_version

View File

@ -91,6 +91,13 @@ case $target in
libc6-dev-mipsel-cross \
qemu-user
;;
--target=powerpc-unknown-linux-gnu)
use_clang=1
install_packages \
gcc-powerpc-linux-gnu \
libc6-dev-powerpc-cross \
qemu-user
;;
--target=powerpc64le-unknown-linux-gnu)
use_clang=1
install_packages \

View File

@ -114,10 +114,3 @@ mod sealed {
// ```
pub trait Sealed {}
}
// XXX: 64-bit big endian is tested; 32-bit is not.
// TODO: Add 32-bit big endian test coverage to CI.
const _ENDIAN_TESTING: () = assert!(cfg!(any(
target_endian = "little",
target_pointer_width = "64"
)));