libseccomp-dev: API break: SCMP_SYS() is unsigned long (was Re: Bug#954294: systemd: FTBFS on x32 due to format string errors, need explicit casts)

Thorsten Glaser t.glaser at tarent.de
Tue Apr 7 09:54:40 BST 2020


On Mon, 6 Apr 2020, Thorsten Glaser wrote:

> On Thu, 19 Mar 2020, Thorsten Glaser wrote:
> 
> > Nevermind, I found the real culprit. SCMP_SYS() is defined to return int.
> 
> I’ll be uploading this to debian-ports’ unreleased repo to get the
> builds going again. Full debdiff and build log attached.


>-#define SCMP_SYS(x)           (__SNR_##x)
>+#define SCMP_SYS(x)           ((int)__SNR_##x)

Ouch, this hasn’t worked:

../src/shared/seccomp-util.c: In function ‘seccomp_restrict_sxid’:                                               
../src/shared/seccomp-util.c:1977:5: error: missing binary operator before token "("                             
 1977 | #if SCMP_SYS(open) > 0                                                                                   
      |     ^~~~~~~~                                                                                             

Is what systemd does here even defined/supported?
How to even do that then :/

bye,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

**********

Mit der tarent Academy bieten wir auch Trainings und Schulungen in den
Bereichen Softwareentwicklung, Agiles Arbeiten und Zukunftstechnologien an.

Besuchen Sie uns auf www.tarent.de/academy. Wir freuen uns auf Ihren Kontakt.

**********



More information about the Pkg-systemd-maintainers mailing list