sys/stat.h: fix missing struct timespec definition
This is a second attempt to fix a compilation failure involving a
missing struct timespec definition in some situation. Previous attempt
was following commit but it had undesirable side effects and was
reverted:
657c4a9d6c fcntl.h: fix a missing `struct timespec` definition
A similar issue was identified and reported in glibc [1], and the fix
was to include the timespec definition if __USE_XOPEN2K8 was defined. To
minimize the possible impact of this new fix, it was decided to not
replace __USE_ATFILE by __USE_XOPEN2K8 as glibc did, but to add an
additional OR condition on __USE_XOPEN2K8.
[1] https://sourceware.org/bugzilla/show_bug.cgi?id=21371
Signed-off-by: Damien Riegel <damien.riegel@savoirfairelinux.com>