mirror of
https://github.com/opencontainers/runc.git
synced 2025-04-18 19:44:09 +03:00
"armhf" means ARMv7 for Debian, ARMv6 for Raspbian. ARMv6 is chosen here for compatibility. https://wiki.debian.org/RaspberryPi > Raspberry Pi OS builds a single image for all of the Raspberry families, > so you will get an armhf 32-bit, hard floating-point system, but built > for the ARMv6 ISA (with VFP2), unlike Debian's ARMv7 ISA (with VFP3) > port. Prior to this commit, the script was setting GOARM=6 for armel, GOARM=7 for armhf. Fix issue 4033 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
84 lines
1.9 KiB
Bash
84 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# NOTE: Make sure you keep this file in sync with cc_platform.mk.
|
|
|
|
# set_cross_vars sets a few environment variables used for cross-compiling,
|
|
# based on the architecture specified in $1.
|
|
function set_cross_vars() {
|
|
GOARCH="$1" # default, may be overridden below
|
|
unset GOARM
|
|
|
|
PLATFORM=linux-gnu
|
|
# openSUSE has a custom PLATFORM
|
|
if grep -iq "ID_LIKE=.*suse" /etc/os-release; then
|
|
PLATFORM=suse-linux
|
|
is_suse=1
|
|
fi
|
|
|
|
case $1 in
|
|
386)
|
|
# Always use the 64-bit compiler to build the 386 binary, which works
|
|
# for the more common cross-build method for x86 (namely, the
|
|
# equivalent of dpkg --add-architecture).
|
|
local cpu_type
|
|
if [ -v is_suse ]; then
|
|
# There is no x86_64-suse-linux-gcc, so use the native one.
|
|
HOST=
|
|
cpu_type=i586
|
|
else
|
|
HOST=x86_64-${PLATFORM}
|
|
cpu_type=i686
|
|
fi
|
|
CFLAGS="-m32 -march=$cpu_type ${CFLAGS[*]}"
|
|
;;
|
|
amd64)
|
|
if [ -n "${is_suse:-}" ]; then
|
|
# There is no x86_64-suse-linux-gcc, so use the native one.
|
|
HOST=
|
|
else
|
|
HOST=x86_64-${PLATFORM}
|
|
fi
|
|
;;
|
|
arm64)
|
|
HOST=aarch64-${PLATFORM}
|
|
;;
|
|
armel)
|
|
HOST=arm-${PLATFORM}eabi
|
|
GOARCH=arm
|
|
GOARM=5
|
|
;;
|
|
armhf)
|
|
HOST=arm-${PLATFORM}eabihf
|
|
GOARCH=arm
|
|
# "armhf" means ARMv7 for Debian, ARMv6 for Raspbian.
|
|
# ARMv6 is chosen here for compatibility.
|
|
#
|
|
# https://wiki.debian.org/RaspberryPi
|
|
#
|
|
# > Raspberry Pi OS builds a single image for all of the Raspberry families,
|
|
# > so you will get an armhf 32-bit, hard floating-point system, but built
|
|
# > for the ARMv6 ISA (with VFP2), unlike Debian's ARMv7 ISA (with VFP3)
|
|
# > port.
|
|
GOARM=6
|
|
;;
|
|
ppc64le)
|
|
HOST=powerpc64le-${PLATFORM}
|
|
;;
|
|
riscv64)
|
|
HOST=riscv64-${PLATFORM}
|
|
;;
|
|
s390x)
|
|
HOST=s390x-${PLATFORM}
|
|
;;
|
|
*)
|
|
echo "set_cross_vars: unsupported architecture: $1" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
CC="${HOST:+$HOST-}gcc"
|
|
STRIP="${HOST:+$HOST-}strip"
|
|
|
|
export HOST CFLAGS GOARM GOARCH CC STRIP
|
|
}
|