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] Add compile testing to glibc test framework.


On Thu, 16 Jun 2016, Carlos O'Donell wrote:

> This would require that users use the latest kernel headers for all of
> their builds or `make check` would fail. I always use the latest kernel

No, just include appropriate conditionals in the tests requiring newer 
headers than the minimum.  We've done that before (via a configure test 
for header presence, removed when the minimum headers version was 
increased).

> * Extend evaluate-test.sh to support return code 88 as a dynamic xfail
>   - Played around with 99 for tests that must not be xfailed.

I don't see this as needed.  The case in question looks exactly like 
UNSUPPORTED - there is some functionality that glibc cannot support in a 
particular environment (in this case, when the kernel headers are too 
old).  (I do think we could do with a new return code for UNRESOLVED as 
distinct from FAIL and UNSUPPORTED, for cases such as memory allocation 
failures.)

> * Extend kernel-features.h to define __LINUX_KERNEL_HEADER_VERSION the
>   version of the headers used in the build.

I don't see a need for a new macro that just duplicates 
LINUX_VERSION_CODE.

> +/* On Linux kernel 3.12 or newer the IPv6 headers are guarded to
> +   ensure compatibiltiy with glibc INET headers. You need at least
> +   Linux kernel 3.19 to get the full set of compatible headers for
> +   glibc inet/in.h.  */
> +#if __LINUX_KERNEL_HEADER_VERSION >= 0x031300
> +#define __TEST_USE_KERNEL_IPV6_DEFS	1
> +#else
> +#define __TEST_USE_KERNEL_IPV6_DEFS	0
> +#endif

This could be simpler as:

#define __TEST_USE_KERNEL_IPV6_DEFS (LINUX_VERSION_CODE >= 0x031300)

-- 
Joseph S. Myers
joseph@codesourcery.com


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