This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix linux/stddef.h coordination with glibc (Bug 20215)


On Tue, Jun 07, 2016 at 01:14:40PM +0300, Mikko Rapeli wrote:
> On Tue, Jun 07, 2016 at 05:55:05AM -0400, Carlos O'Donell wrote:
> > Denys,
> > 
> > In recent linux 4.6.0 headers we have this:
> > 
> > git blame include/uapi/linux/stddef.h
> > ~~~
> > 607ca46e (David Howells  2012-10-13 10:46:48 +0100 1) #include <linux/compiler.h>
> > 283d7573 (Denys Vlasenko 2016-03-30 00:14:57 +0200 2) 
> > 283d7573 (Denys Vlasenko 2016-03-30 00:14:57 +0200 3) #ifndef __always_inline
> > 283d7573 (Denys Vlasenko 2016-03-30 00:14:57 +0200 4) #define __always_inline inline
> > 283d7573 (Denys Vlasenko 2016-03-30 00:14:57 +0200 5) #endif
> > ~~~
> > 
> > The definition of __always_inline breaks certain header include
> > ordering between glibc and linux headers.
> > 
> > Mikko,
> > 
> > I'm curious if your header include fuzzing script caught this failure?
> 
> I've seen this, but by default it is only a warning. I have not dared to
> run my kernel headers tests with warnings-as-errors since there are so many of
> them, and there are plenty of simple errors to fix first.

Here is a sample Linux kernel headers compile test log

https://mcfrisk.kapsi.fi/temp/log_headers_test_v05.txt.gz

from my header fix branch

https://github.com/mcfrisk/linux/tree/headers_test_v05

Command executed in kernel source tree is:

~/src/linux-2.6$ make headers_install && cd usr/include && \
                 ../../scripts/headers_compile_test.sh -l -k

Error summary is:

Kernel header compile test statistics:

0 files failed the kernel header compile test.
774 files passed the kernel header compile test.

libc and kernel header compatibility test statistics:

113 files failed the libc compatibility test.
661 files passed the libc compatibility test.

39 files failed libc before kernel include test.
735 files passed libc before kernel include test.

112 files failed kernel before libc include test.
662 files passed kernel before libc include test.

-Mikko


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]