After commit
d76d3703551a362b472c866b5b6089f66f8daa8e ("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
c1c2848b572ea7f92b7fa81dd5b1b9ef7c69b83b)
+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>
[BZ #23171]
[23171] Fix parameter type in C++ version of iseqsig
[23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
[23236] Harden function pointers in _IO_str_fields
+ [23349] Various glibc headers no longer compatible with <linux/time.h>
\f
Version 2.26
-#ifndef __timespec_defined
-#define __timespec_defined 1
+/* NB: Include guard matches what <linux/time.h> uses. */
+#ifndef _STRUCT_TIMESPEC
+#define _STRUCT_TIMESPEC 1
#include <bits/types.h>