Control: tags -1 + patch
On Thu, Feb 01, 2024 at 04:05:45PM +0100, Matthias Urlichs wrote:
> I am debugging a "foreign" ARMHF binary on a Raspberry Pi 3
> (running Bookworm in 64-bit mode, arm64).
>
> $ strace /lib/ld-linux.armhf.so.3 /opt/victronenergy/hub4control/hub4control
> execve("/lib/ld-linux.armhf.so.3", ["/lib/ld-linux.armhf.so.3",
> "/opt/victronenergy/hub4control/h"...], 0xffffcc00d598 /* 27 vars */
> <unfinished ...>
> [ Process PID=93013 runs in 32 bit mode. ]
> strace: WARNING: Proper structure decoding for this personality is not
> supported, please consider building strace with mpers support enabled.
>
> Thus, please enable mpers support if possible.
A customer of mine ran into this issue. For most architectures, mpers
support is enabled via multilib and the gcc-multilib dependency. ARM
architectures are notably missing here. Looking into the configure
script, it becomes apparent that arm64 is treated differently. This
presumably is due to to Debian (and others) not providing multilib
support for arm64. Instead, a cross compiler is tried. The only piece
missing here is providing that cross compiler during build. So here is a
patch adding those dependencies and once you do, you get mpers32
support.
For a trixie strace I see
| strace: WARNING: Proper structure decoding for this personality is not
supported, please consider building strace with mpers support enabled.
and strace -V says
| Optional features enabled: no-m32-mpers
but with the attached patch, the message goes missing and strace -V
says
| Optional features enabled: m32-mpers
so that it likely just works.
Longer term, we'd like to get rid of the gcc-multilib binary package, so
all architectures should be working the way arm64 is handled already.
Helmut
diff -Nru strace-7.0+ds/debian/changelog strace-7.0+ds/debian/changelog
--- strace-7.0+ds/debian/changelog 2026-06-05 05:18:44.000000000 +0200
+++ strace-7.0+ds/debian/changelog 2026-06-22 13:13:55.000000000 +0200
@@ -1,3 +1,10 @@
+strace (7.0+ds-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Build with mpers32 support on arm64. (Closes: #1062446)
+
+ -- Helmut Grohne <[email protected]> Mon, 22 Jun 2026 13:13:55 +0200
+
strace (7.0+ds-1) unstable; urgency=medium
* Update upstream OpenPGP signing key
diff -Nru strace-7.0+ds/debian/control strace-7.0+ds/debian/control
--- strace-7.0+ds/debian/control 2026-06-05 05:18:44.000000000 +0200
+++ strace-7.0+ds/debian/control 2026-06-22 13:13:55.000000000 +0200
@@ -5,7 +5,9 @@
Build-Depends:
libc6-dev (>= 2.2.2) [!alpha !ia64],
libc6.1-dev (>= 2.2.2) [alpha ia64],
+ libc6-dev-armhf-cross [arm64],
gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc sparc64 x32],
+ gcc-arm-linux-gnueabihf [arm64],
debhelper-compat (= 13),
gawk,
libunwind-dev [amd64],