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
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 :/

tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn •
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 Wir freuen uns auf Ihren Kontakt.


More information about the Pkg-systemd-maintainers mailing list