2018-07-16 16:41:18

by Laura Abbott

[permalink] [raw]
Subject: compliation error with aio_abi.h

Hi,

Fedora got a bug report https://bugzilla.redhat.com/show_bug.cgi?id=1601529
with 4.18-rc4:

Steps to Reproduce:
1.echo 'int f;' | gcc -include linux/aio_abi.h -xc -c - -o /dev/null

Actual results:
/usr/include/asm/signal.h:127:2: error: unknown type name ‘size_t’
size_t ss_size;
^~~~~~
In file included from <command-line>:32:
/usr/include/linux/aio_abi.h:115:2: error: unknown type name ‘size_t’
size_t sigsetsize;
^~~~~~

Expected results:
no errors, as in Fedora 28 kernel-headers-4.17.4-200.fc28.x86_64)


This looks like the structure that was introduced with 7a074e96dee6
("aio: implement io_pgetevents") . is #include <linux/signal.h>
the correct header? This breaks compilation of nginx
https://bugzilla.redhat.com/show_bug.cgi?id=1597674

Thanks,
Laura



2018-07-17 12:57:01

by Christoph Hellwig

[permalink] [raw]
Subject: Re: compliation error with aio_abi.h

On Mon, Jul 16, 2018 at 09:40:19AM -0700, Laura Abbott wrote:
> This looks like the structure that was introduced with 7a074e96dee6
> ("aio: implement io_pgetevents") . is #include <linux/signal.h>
> the correct header? This breaks compilation of nginx
> https://bugzilla.redhat.com/show_bug.cgi?id=1597674

As far as the kernel is concerned it is the right header, but the
glibc side of signals is a mess. I've thus submitted the fix below
to avoid exposing the signal bits at all:

https://marc.info/?l=linux-fsdevel&m=153131732618217&w=2