From 8cdb38cd4e76740ac955d2e93d3e0fb808f8dae1 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Fri, 13 Feb 2026 18:32:33 +1100 Subject: [PATCH] [1.4] build: treat armhf as ARMv7 The intention of commit 531e29e19211 ("script/lib.sh: set GOARM=5 for armel, GOARM=6 for armhf") was to properly support older ARM platforms with our release builds. However, we have never been able to support ARMv6 for our builds because we use the Debian compiler to build the libseccomp we statically compile into our binaries and (as per the now-deleted comment itself) Debian treats armhf as being ARMv7 so the final binaries we produced were always only ever compatible with ARMv7+. This was a bit of an oddity before but when building libpathrs for releases we will need to use Rust which makes the target more explicit (and while it does support armhf, we are using the Debian-packaged Rust cross-compiler and thus are in the same dilemma with what Debian considers "armhf" to be). All-in-all, it's better to just bite the bullet and just follow Debian here properly. Fixes: 531e29e19211 ("script/lib.sh: set GOARM=5 for armel, GOARM=6 for armhf") Signed-off-by: Aleksa Sarai (cherry picked from commit 51ae8de054eb3068c4e4901ba9a6af7f5807d5e4) Signed-off-by: Aleksa Sarai --- CHANGELOG.md | 10 ++++++++++ script/lib.sh | 11 +---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79cc3784b..3b77754ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased 1.4.z] +### Changed ### +- Previously we made an attempt to make our `runc.armhf` release binaries work + with ARMv6 (which would allow runc to work on the original Raspberry Pi). + Unfortunately, this has effectively always been broken (because we + cross-compile `libseccomp` within a Debian container and statically link to + it) and so we are now officially matching [the Debian definition of `armhf`][debian-armhf] + (that is, ARMv7). (#5103) + +[debian-armhf]: https://wiki.debian.org/ArmHardFloatPort + ## [1.4.0] - 2025-11-27 > 路漫漫其修远兮,吾将上下而求索! diff --git a/script/lib.sh b/script/lib.sh index 9e4139756..89ce8c6c3 100644 --- a/script/lib.sh +++ b/script/lib.sh @@ -48,16 +48,7 @@ function set_cross_vars() { 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 + GOARM=7 ;; ppc64le) HOST=powerpc64le-${PLATFORM}