Thread (7 messages) 7 messages, 3 authors, 2017-03-06

Re: [PATCH] uapi: fix asm/signal.h userspace compilation errors

From: Arnd Bergmann <arnd@arndb.de>
Date: 2017-03-01 16:27:27
Also in: linux-alpha, linux-arch, linux-arm-kernel, linux-mips, linux-s390, lkml, sparclinux

On Sun, Feb 26, 2017 at 2:01 AM, Dmitry V. Levin [off-list ref] wrote:
Include <stddef.h> (guarded by #ifndef __KERNEL__) to fix asm/signal.h
userspace compilation errors like this:

/usr/include/asm/signal.h:126:2: error: unknown type name 'size_t'
  size_t ss_size;

As no uapi header provides a definition of size_t, inclusion
of <stddef.h> seems to be the most conservative fix available.

On the kernel side size_t is typedef'ed to __kernel_size_t, so
an alternative fix would be to change the type of sigaltstack.ss_size
from size_t to __kernel_size_t for all architectures except those where
sizeof(size_t) < sizeof(__kernel_size_t), namely, x32 and mips n32.

On x32 and mips n32, however, #include <stddef.h> seems to be the most
straightforward way to obtain the definition for sigaltstack.ss_size's
type.

Signed-off-by: Dmitry V. Levin <redacted>
I'm not sure if this is the best fix. We generally should not include one
standard header from another standard header. Would it be possible
to use __kernel_size_t instead of size_t?

     Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help