* xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20.
@ 2015-04-28 11:09 Jan Ťulák
2015-04-28 21:12 ` Dave Chinner
0 siblings, 1 reply; 4+ messages in thread
From: Jan Ťulák @ 2015-04-28 11:09 UTC (permalink / raw)
To: xfs
In glibc 2.20, _BSD_SOURCE and _SVID_SOURCE were deprecated and should be
replaced with _DEFAULT_SOURCE. Currently, compiling xfsprogs on a system with
glibc in said or newer version (like current Fedora) produces tons of warnings
like this one:
In file included from /usr/include/stdio.h:27:0,
from ../include/xfs/platform_defs.h:24,
from ../include/xfs/libxfs.h:25,
from xfs_mkfs.c:19:
/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"
It can be fixed with the single line patch bellow, but I'm not sure if we can
remove the deprecated version because of compatiblity. Glibc 2.19, which added
_DEFAULT_SOURCE, was released in 2014, and I'm not sure how much it is
backported and how much xfsprogs are backported too. So, do we need a better
patch to take care of this and provide differend _SOURCE based on glibc
version, or this patch is enough?
Source: man 7 feature_test_macros
Here is a link in case you older version:
http://man7.org/linux/man-pages/man7/feature_test_macros.7.html
Signed-off-by: Jan Ťulák <jtulak@redhat.com>
---
include/builddefs.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/builddefs.in b/include/builddefs.in
index 944bcf6..6e6097a 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
@@ -109,7 +109,7 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
# -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl
ifeq ($(PKG_PLATFORM),linux)
-PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS)
+PCFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS)
ifeq ($(HAVE_UMODE_T),yes)
PCFLAGS += -DHAVE_UMODE_T
endif
--
2.1.0
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20. 2015-04-28 11:09 xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20 Jan Ťulák @ 2015-04-28 21:12 ` Dave Chinner 2015-04-29 8:13 ` [PATCH] xfsprogs: Removing deprecated _BSD_SOURCE definition Jan Ťulák 2015-04-29 8:23 ` xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20 Jan Tulak 0 siblings, 2 replies; 4+ messages in thread From: Dave Chinner @ 2015-04-28 21:12 UTC (permalink / raw) To: Jan Ťulák; +Cc: xfs On Tue, Apr 28, 2015 at 01:09:04PM +0200, Jan Ťulák wrote: > In glibc 2.20, _BSD_SOURCE and _SVID_SOURCE were deprecated and should be > replaced with _DEFAULT_SOURCE. Currently, compiling xfsprogs on a system with > glibc in said or newer version (like current Fedora) produces tons of warnings > like this one: > > In file included from /usr/include/stdio.h:27:0, > from ../include/xfs/platform_defs.h:24, > from ../include/xfs/libxfs.h:25, > from xfs_mkfs.c:19: > /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" > > It can be fixed with the single line patch bellow, but I'm not sure if we can > remove the deprecated version because of compatiblity. Glibc 2.19, which added > _DEFAULT_SOURCE, was released in 2014, and I'm not sure how much it is > backported and how much xfsprogs are backported too. So, do we need a better > patch to take care of this and provide differend _SOURCE based on glibc > version, or this patch is enough? > > Source: man 7 feature_test_macros > Here is a link in case you older version: > http://man7.org/linux/man-pages/man7/feature_test_macros.7.html /me smacks head against wall Really? glibc has decided to break the build of half the world? > Signed-off-by: Jan Ťulák <jtulak@redhat.com> > --- > include/builddefs.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/builddefs.in b/include/builddefs.in > index 944bcf6..6e6097a 100644 > --- a/include/builddefs.in > +++ b/include/builddefs.in > @@ -109,7 +109,7 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall > # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl > > ifeq ($(PKG_PLATFORM),linux) > -PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) > +PCFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) Quoting that man page: " _GNU_SOURCE [...] Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly defining _DEFAULT_SOURCE. In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of implicitly defining _BSD_SOURCE and _SVID_SOURCE. " IOWs, glibc is just being an obnoxious. I'd just drop the -D_BSD_SOURCE altogether, as _GNU_SOURCE should pull in everything we need. And looking at it further, it also defines _XOPEN_SOURCE to >= 500, so that could probably be dropped, too. Cheers, Dave. -- Dave Chinner david@fromorbit.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] xfsprogs: Removing deprecated _BSD_SOURCE definition. 2015-04-28 21:12 ` Dave Chinner @ 2015-04-29 8:13 ` Jan Ťulák 2015-04-29 8:23 ` xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20 Jan Tulak 1 sibling, 0 replies; 4+ messages in thread From: Jan Ťulák @ 2015-04-29 8:13 UTC (permalink / raw) To: david; +Cc: xfs In glibc 2.20, _BSD_SOURCE was deprecated in favor of _DEFAULT_SOURCE. _DEFAULT_SOURCE is included with _GNU_SOURCE, as well as _XOPEN_SOURCE >= 500, so the obsolete and unnecessary definitions are removed. For more details, see man 7 feature_test_macros for glibc >= 2.20. Signed-off-by: Jan Ťulák <jtulak@redhat.com> --- include/builddefs.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/builddefs.in b/include/builddefs.in index 944bcf6..7e9f53d 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -109,7 +109,7 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl ifeq ($(PKG_PLATFORM),linux) -PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) +PCFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) ifeq ($(HAVE_UMODE_T),yes) PCFLAGS += -DHAVE_UMODE_T endif -- 2.1.0 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20. 2015-04-28 21:12 ` Dave Chinner 2015-04-29 8:13 ` [PATCH] xfsprogs: Removing deprecated _BSD_SOURCE definition Jan Ťulák @ 2015-04-29 8:23 ` Jan Tulak 1 sibling, 0 replies; 4+ messages in thread From: Jan Tulak @ 2015-04-29 8:23 UTC (permalink / raw) To: Dave Chinner; +Cc: xfs ----- Original Message ----- > From: "Dave Chinner" <david@fromorbit.com> > To: "Jan Ťulák" <jtulak@redhat.com> > Cc: xfs@oss.sgi.com > Sent: Tuesday, 28 April, 2015 11:12:59 PM > Subject: Re: xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20. > > On Tue, Apr 28, 2015 at 01:09:04PM +0200, Jan Ťulák wrote: > > In glibc 2.20, _BSD_SOURCE and _SVID_SOURCE were deprecated and should be > > replaced with _DEFAULT_SOURCE. Currently, compiling xfsprogs on a system > > with > > glibc in said or newer version (like current Fedora) produces tons of > > warnings > > like this one: > > > > In file included from /usr/include/stdio.h:27:0, > > from ../include/xfs/platform_defs.h:24, > > from ../include/xfs/libxfs.h:25, > > from xfs_mkfs.c:19: > > /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" > > > > It can be fixed with the single line patch bellow, but I'm not sure if we > > can > > remove the deprecated version because of compatiblity. Glibc 2.19, which > > added > > _DEFAULT_SOURCE, was released in 2014, and I'm not sure how much it is > > backported and how much xfsprogs are backported too. So, do we need a > > better > > patch to take care of this and provide differend _SOURCE based on glibc > > version, or this patch is enough? > > > > Source: man 7 feature_test_macros > > Here is a link in case you older version: > > http://man7.org/linux/man-pages/man7/feature_test_macros.7.html > > /me smacks head against wall > > Really? glibc has decided to break the build of half the world? > > > Signed-off-by: Jan Ťulák <jtulak@redhat.com> > > --- > > include/builddefs.in | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/builddefs.in b/include/builddefs.in > > index 944bcf6..6e6097a 100644 > > --- a/include/builddefs.in > > +++ b/include/builddefs.in > > @@ -109,7 +109,7 @@ GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall > > # -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl > > > > ifeq ($(PKG_PLATFORM),linux) > > -PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 > > -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) > > +PCFLAGS = -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=500 > > -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) > > Quoting that man page: > > " > _GNU_SOURCE > [...] > Since glibc 2.19, defining _GNU_SOURCE also has the effect > of implicitly defining _DEFAULT_SOURCE. In glibc versions > before 2.20, defining _GNU_SOURCE also had the effect of > implicitly defining _BSD_SOURCE and _SVID_SOURCE. > " > > IOWs, glibc is just being an obnoxious. I'd just drop the > -D_BSD_SOURCE altogether, as _GNU_SOURCE should pull in everything > we need. And looking at it further, it also defines _XOPEN_SOURCE to > >= 500, so that could probably be dropped, too. > All right, so I dropped it too. We could make a glibc fork instead, but this seems to be... a bit easier. :P Cheers. -- Jan Tulak jtulak@redhat.com _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-29 8:23 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-28 11:09 xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20 Jan Ťulák 2015-04-28 21:12 ` Dave Chinner 2015-04-29 8:13 ` [PATCH] xfsprogs: Removing deprecated _BSD_SOURCE definition Jan Ťulák 2015-04-29 8:23 ` xfsprogs compile warnings: _BSD_SOURCE is deprecated in glibc 2.20 Jan Tulak
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox