Subject: Re: bug#48789: acknowledged by developer (control message for bug #50058)

From: Philipp Stephani <[email-masked]>
Date: Sun, 29 Aug 2021 20:54:17 +0200

Am Sa., 28. Aug. 2021 um 08:17 Uhr schrieb Eli Zaretskii <[email-masked]>:
>
> > From: akater <[email-masked]>
> > Date: Fri, 27 Aug 2021 22:04:15 +0000
> >
> > However, I still can't build on musl due to seccomp-related issue.
> >
> > In the original message, I forgot to attach actual output from GCC; here
> > it goes:
> >
> > x86_64-gentoo-linux-musl-gcc -fno-common -Wall -Warith-conversion
> > -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wduplicated-cond
> > -Wextra -Wformat-signedness -Winit-self -Winvalid-pch -Wlogical-op
> > -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes
> > -Wnested-externs -Wnull-dereference -Wold-style-definition -Wopenmp-simd
> > -Wpacked -Wpointer-arith -Wstrict-prototypes -Wsuggest-attribute=format
> > -Wsuggest-attribute=noreturn -Wsuggest-final-methods
> > -Wsuggest-final-types -Wtrampolines -Wuninitialized -Wunknown-pragmas
> > -Wunused-macros -Wvariadic-macros -Wvector-operation-performance
> > -Wwrite-strings -Warray-bounds=2 -Wattribute-alias=2 -Wformat=2
> > -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wshift-overflow=2
> > -Wvla-larger-than=4031 -Wredundant-decls -Wno-missing-field-initializers
> > -Wno-override-init -Wno-sign-compare -Wno-type-limits
> > -Wno-unused-parameter -Wno-format-nonliteral -I. -I../src -I../lib
> > -I. -I./../src -I./../lib -Wl,-O1 -Wl,--as-needed -march=native -O2
> > -pipe seccomp-filter.c \ -lseccomp -o seccomp-filter
> > seccomp-filter.c: In function 'export_filter':
> > seccomp-filter.c:134:12: warning: implicit declaration of function 'TEMP_FAILURE_RETRY' [-Wimplicit-function-declaration]
> >   134 |   int fd = TEMP_FAILURE_RETRY (
> >       |            ^~~~~~~~~~~~~~~~~~
> > seccomp-filter.c:134:12: warning: nested extern declaration of 'TEMP_FAILURE_RETRY' [-Wnested-externs]
> > /usr/lib/gcc/x86_64-gentoo-linux-musl/10.3.0/../../../../x86_64-gentoo-linux-musl/bin/ld: /var/tmp/portage/app-editors/emacs-28.0.9999/temp/ccIiDmil.o: in function `export_filter':
> > seccomp-filter.c:(.text+0x199): undefined reference to `TEMP_FAILURE_RETRY'
> > collect2: error: ld returned 1 exit status
>
> I believe TEMP_FAILURE_RETRY is glibc-specific; the configure script
> should test for it, and disable seccomp if not supported (or code
> around its absence, if possible).

TEMP_FAILURE_RETRY is a trivial helper macro. I've expanded it in
commit 8fa624b39b39569d280b06811dd81f1253559e17.