build: fix _BSD_SOURCE complier warning

When compiling xfstests with either gcc 6.4.1 or 7.2.1 I see the
following warning:

In file included from /usr/include/stdio.h:27:0,
                 from fssum.c:25:
/usr/include/features.h:148:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE
are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
 # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
   ^~~~~~~

The feature_test_macros(7) man page says this about _BSD_SOURCE:

 Since glibc 2.20, this macro is deprecated. It now has the same
 effect as defining _DEFAULT_SOURCE, but generates a compile-time
 warning (unless _DEFAULT_SOURCE is also defined). Use
 _DEFAULT_SOURCE instead.  To allow code that requires _BSD_SOURCE
 in glibc 2.19 and earlier and _DEFAULT_SOURCE in glibc 2.20 and
 later to compile without warnings, define both _BSD_SOURCE and
 _DEFAULT_SOURCE.

Keep backwards compatibility with older code by defining both
_BSD_SOURCE and _DEFAULT_SOURCE.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
Ross Zwisler
2017-12-07 14:35:01 -07:00
committed by Eryu Guan
parent 729b2bc764
commit 8b71ca4162
+1
View File
@@ -17,6 +17,7 @@
*/ */
#ifdef __linux__ #ifdef __linux__
#define _BSD_SOURCE #define _BSD_SOURCE
#define _DEFAULT_SOURCE
#define _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
#define _GNU_SOURCE #define _GNU_SOURCE