[Pkg-sssd-devel] Bug#1086769: uid-wrapper FTBFS on hppa, powerpc and x32
Helge Deller
deller at gmx.de
Tue Nov 5 17:42:54 GMT 2024
Source: uid-wrapper
Version: 1.3.1-1
Tags: ftbfs
The test15 (test_uwrap_syscall) fails on some 32-bit platforms due to the
time64 transition like this:
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.
Because of that, the syscall returns values in memory locations which
the userspace application doesn't expect. This shows up as either zero
values, or like above as 0x66234648 != 0x42c0c66234648.
The time64 transition is enabled in via /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 trivial patch below.
I tried it on the hppa architecture, but it should fix the issues
on the other arches as well.
This patch has no impact on 64-bit architectures!
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
Please note, that I suggest to remove the skip-arm-32bit-syscall.patch.
PS: This enhances & fixes the findings in bug 1069425
More information about the Pkg-sssd-devel
mailing list