Thanks for following up the patch, Helge. This sounds more like Bug#1086769, which is closed but not yet archived.

Simon Josefsson is the main maintainer for uid-wrapper, so he's in a better position to judge if sskip-arm-32bit-syscall.patch should be updated. I'm forwarding your message to Bug#1086769 and him to review further before #1086769 get archived.

On your side Helge, can you check if Simon's recent changes in 1.3.1-2 address the issue you've raised here?

Cheers,
Drew


On 2024-11-05 18:15, Helge Deller wrote:
Hi Drew,

I noticed this bug report is "archived", so I don't know if
my info will get attached to the report.
Since you came up with the sskip-arm-32bit-syscall.patch,
wich I believe is wrong, could you please check my patch below?

Helge
-------- Forwarded Message --------
Subject: Re: Bug#1069425: uid-wrapper: FTBFS on armhf: 15: [ LINE ] --- ./tests/test_syscall.c:53: error: Failure!
Date: Tue, 5 Nov 2024 18:10:53 +0100
From: Helge Deller <del...@gmx.de>
To: 1069...@bugs.debian.org

The reason test15 (test_uwrap_syscall) fails on some 32-bit
platforms is due to the time64 transition:
15: [ RUN      ] test_uwrap_syscall
15: [  ERROR   ] --- 0x66234648 != 0x42c0c66234648
15: [   LINE   ] --- ./tests/test_syscall.c:53: error: Failure!
15: [  FAILED  ] test_uwrap_syscall

Because of the transition, "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
gets added and as such the "struct timeval tv2" gets extended to 64bit
which does not fit the struct layout (and size) which the syscall expects.

See usr/share/perl5/Dpkg/Vendor/Debian.pm, line ~303:
# In Debian gcc enables time64 (and lfs) for the following architectures # by injecting pre-processor flags, though the libc ABI has not changed. if (any { $arch eq $_ } qw(armel armhf hppa m68k mips mipsel powerpc sh4)) {
        $flags->set_option_value('cc-abi-time64', 1);

The uid-wrapper is a very low-level package and as such it should not
be built with time64 enabled (same as glibc is built without it).

The obvious fix for this package is the following trivial patch.
I tried hppa, but it should solve the issue for the other architectures
as well: armel armhf hppa m68k mips mipsel powerpc sh4

diff -up ./debian/rules.bak ./debian/rules
--- ./debian/rules.bak  2024-11-05 16:53:45.182697375 +0000
+++ ./debian/rules      2024-11-05 16:04:57.142488073 +0000
@@ -1,6 +1,6 @@
 #!/usr/bin/make -f

-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all abi=-time64

Reply via email to