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],

Reply via email to