From d76d3703551a362b472c866b5b6089f66f8daa8e Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 17 Apr 2017 10:38:53 -0300 Subject: [PATCH] Fix missing timespec definition for sys/stat.h (BZ #21371) As indicated by the bug report, the 'struct timespec' definition is not defined for '_XOPEN_SOURCE=700' and '_POSIX_C_SOURCE=200112L'. It is because current code only includes its definition if __USE_ATFILE is defined and the define is only set with: 1. _GNU_SOURCE and/or _ATFILE_SOURCE definition. 2. _POSIX_C_SOURCE >= 200809L However, the 'st_*' fields in 'struct stat' are defined if __USE_XOPEN2K8. This patch uses the same logic for 'struct timespec' inclusion. Tested on x86_64-linux-gnu. * io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for struct timespec definition. --- ChangeLog | 5 +++++ io/sys/stat.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0d6183dbe83..31b56a78d84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-04-20 Adhemerval Zanella + + * io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for + struct timespec definition. + 2017-04-19 Florian Weimer * resolv/nss_dns/dns-host.c (getanswer_r): Fix parentheses. diff --git a/io/sys/stat.h b/io/sys/stat.h index 2ada4a5e3a1..ac7ef1f5722 100644 --- a/io/sys/stat.h +++ b/io/sys/stat.h @@ -26,7 +26,7 @@ #include /* For __mode_t and __dev_t. */ -#ifdef __USE_ATFILE +#ifdef __USE_XOPEN2K8 # include #endif -- 2.47.2