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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 02, 2017 at 10:22:18AM -0500, Carlos O'Donell wrote:
On Wed, Mar 1, 2017 at 11:20 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
On Sun, Feb 26, 2017 at 2:01 AM, Dmitry V. Levin <ldv@xxxxxxxxxxxx> 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.
[...]
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?

In glibc we handle this with special use of __need_size_t with GCC's
provided stddef.h.

For example glibc's signal.h does this:

# define __need_size_t
# include <stddef.h>

Just to make it clear, do you suggest this approach for asm/signal.h as well?

[...]
Changing the fundamental type causes the issues you see in patch v2
where sizeof(size_t) < sizeof(__kernel_size_t).

It will only lead to problem substituting the wrong type.

I don't see any appetite for creating more ABIs like x32 with
sizeof(size_t) < sizeof(__kernel_size_t), so v2 approach
is not going to be any different from v1 in maintenance.


-- 
ldv

Attachment: pgp_NCgVwFPUi.pgp
Description: PGP signature


[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux