Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]

After commit d76d370355 ("Fix missing
timespec definition for sys/stat.h (BZ #21371)") in combination with
kernel UAPI changes, GCC sanitizer builds start to fail due to a
conflicting definition of struct timespec in <linux/time.h>.  Use
_STRUCT_TIMESPEC as the header file inclusion guard, which is already
checked in the kernel header, to support including <linux/time.h> and
<sys/stat.h> in the same translation unit.

(cherry picked from commit c1c2848b57)
This commit is contained in:
Florian Weimer 2018-06-28 13:21:20 +02:00
parent ffc5623978
commit 4e0847afce
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2018-06-28 Florian Weimer <fweimer@redhat.com>
[BZ #23349]
* time/bits/types/struct_timespec.h: Change header inclusion guard to
_STRUCT_TIMESPEC.
2018-05-24 Gabriel F. T. Gomes <gabriel@inconstante.eti.br> 2018-05-24 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
[BZ #23171] [BZ #23171]

1
NEWS
View File

@ -80,6 +80,7 @@ The following bugs are resolved with this release:
[23236] Harden function pointers in _IO_str_fields [23236] Harden function pointers in _IO_str_fields
[23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE
[23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode
[23349] Various glibc headers no longer compatible with <linux/time.h>
Version 2.27 Version 2.27

View File

@ -1,5 +1,6 @@
#ifndef __timespec_defined /* NB: Include guard matches what <linux/time.h> uses. */
#define __timespec_defined 1 #ifndef _STRUCT_TIMESPEC
#define _STRUCT_TIMESPEC 1
#include <bits/types.h> #include <bits/types.h>