# HG changeset patch # User Roger Pau Monne <roger.pau@entel.upc.edu> # Date 1323768129 -3600 # Node ID 7697ee23b08b8eaca9aee4f6b79cf550a490bef7 # Parent 8a84f53376862427f254a017cb52c928dbdd3d32 xenpaging: remove XOPEN_SOURCE The XOPEN_SOURCE define was breaking the compilation under NetBSD. I''ve removed it becasue it is not necessary (at least under NetBSD). If it is necessary for Linux, we can add a ifdef conditional to remove this only under NetBSD. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> diff -r 8a84f5337686 -r 7697ee23b08b tools/xenpaging/xenpaging.c --- a/tools/xenpaging/xenpaging.c Tue Dec 13 09:49:55 2011 +0100 +++ b/tools/xenpaging/xenpaging.c Tue Dec 13 10:22:09 2011 +0100 @@ -18,7 +18,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define _XOPEN_SOURCE 600 #define _GNU_SOURCE #include <inttypes.h>
On Tue, 2011-12-13 at 09:30 +0000, Roger Pau Monne wrote:> # HG changeset patch > # User Roger Pau Monne <roger.pau@entel.upc.edu> > # Date 1323768129 -3600 > # Node ID 7697ee23b08b8eaca9aee4f6b79cf550a490bef7 > # Parent 8a84f53376862427f254a017cb52c928dbdd3d32 > xenpaging: remove XOPEN_SOURCE > > The XOPEN_SOURCE define was breaking the compilation under NetBSD.How?> I''ve removed it becasue it is not necessary (at least under NetBSD). > If it is necessary for Linux, we can add a ifdef conditional to remove > this only under NetBSD.Removing it seems to not break Linux, at least for me.> Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>Acked-by: Ian Campbell <ian.campbell@citrix.com>> > diff -r 8a84f5337686 -r 7697ee23b08b tools/xenpaging/xenpaging.c > --- a/tools/xenpaging/xenpaging.c Tue Dec 13 09:49:55 2011 +0100 > +++ b/tools/xenpaging/xenpaging.c Tue Dec 13 10:22:09 2011 +0100 > @@ -18,7 +18,6 @@ > * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > */ > > -#define _XOPEN_SOURCE 600 > #define _GNU_SOURCE > > #include <inttypes.h> > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel
On 12/13/11 11:02, Ian Campbell wrote:> On Tue, 2011-12-13 at 09:30 +0000, Roger Pau Monne wrote: >> # HG changeset patch >> # User Roger Pau Monne<roger.pau@entel.upc.edu> >> # Date 1323768129 -3600 >> # Node ID 7697ee23b08b8eaca9aee4f6b79cf550a490bef7 >> # Parent 8a84f53376862427f254a017cb52c928dbdd3d32 >> xenpaging: remove XOPEN_SOURCE >> >> The XOPEN_SOURCE define was breaking the compilation under NetBSD. > > How?Indeed. Both the commit that added it [1] [2] and this patch provide very little useful info in their respective messages. It''s interesting because it could point out a SUSv3 incompatibility in in NetBSD.>> I''ve removed it becasue it is not necessary (at least under NetBSD). >> If it is necessary for Linux, we can add a ifdef conditional to remove >> this only under NetBSD. > > Removing it seems to not break Linux, at least for me.The stuff made visible by _GNU_SOURCE (with glibc) includes everything _XOPEN_SOURCE makes visible [3]. [4] introduced it because of asprintf(). Laszlo [1] http://old-list-archives.xen.org/archives/html/xen-devel/2010-08/msg01110.html [2] http://xenbits.xensource.com/hg/xen-unstable.hg/rev/22023 [3] http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#index-g_t_005fGNU_005fSOURCE-51 [4] http://xenbits.xensource.com/hg/xen-unstable.hg/rev/24223> >> Signed-off-by: Roger Pau Monne<roger.pau@entel.upc.edu> > > Acked-by: Ian Campbell<ian.campbell@citrix.com> >> >> diff -r 8a84f5337686 -r 7697ee23b08b tools/xenpaging/xenpaging.c >> --- a/tools/xenpaging/xenpaging.c Tue Dec 13 09:49:55 2011 +0100 >> +++ b/tools/xenpaging/xenpaging.c Tue Dec 13 10:22:09 2011 +0100 >> @@ -18,7 +18,6 @@ >> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA >> */ >> >> -#define _XOPEN_SOURCE 600 >> #define _GNU_SOURCE >> >> #include<inttypes.h>
2011/12/13 Laszlo Ersek <lersek@redhat.com>:> On 12/13/11 11:02, Ian Campbell wrote: >> >> On Tue, 2011-12-13 at 09:30 +0000, Roger Pau Monne wrote: >>> >>> # HG changeset patch >>> # User Roger Pau Monne<roger.pau@entel.upc.edu> >>> # Date 1323768129 -3600 >>> # Node ID 7697ee23b08b8eaca9aee4f6b79cf550a490bef7 >>> # Parent 8a84f53376862427f254a017cb52c928dbdd3d32 >>> xenpaging: remove XOPEN_SOURCE >>> >>> The XOPEN_SOURCE define was breaking the compilation under NetBSD. >> >> >> How?If _XOPEN_SOUCE is defined, then the compiler cannot find the prototype of asprintf and it throws a warning that stops the compilation. This is because the prototype of asprintf is declared as follows under NetBSD: #if defined(_NETBSD_SOURCE) [...] int asprintf(char ** __restrict, const char * __restrict, ...) __printflike(2, 3); [...] #endif And _NETBSD_SOURCE is defined if: #if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \ !defined(_XOPEN_SOURCE) && !defined(_NETBSD_SOURCE) #define _NETBSD_SOURCE 1 #endif Probably the asprintf prototype should be defined as: #if defined(_NETBSD_SOURCE) || defined(_XOPEN_SOURCE) [...] int asprintf(char ** __restrict, const char * __restrict, ...) __printflike(2, 3);> > Indeed. Both the commit that added it [1] [2] and this patch provide very > little useful info in their respective messages. It's interesting because it > could point out a SUSv3 incompatibility in in NetBSD. > > >>> I've removed it becasue it is not necessary (at least under NetBSD). >>> If it is necessary for Linux, we can add a ifdef conditional to remove >>> this only under NetBSD. >> >> >> Removing it seems to not break Linux, at least for me. > > > The stuff made visible by _GNU_SOURCE (with glibc) includes everything > _XOPEN_SOURCE makes visible [3]. [4] introduced it because of asprintf().If it's not necessary I think it's best to remove the definition, to avoid having a lot of useless defines all over the code.> Laszlo > > [1] > http://old-list-archives.xen.org/archives/html/xen-devel/2010-08/msg01110.html > [2] http://xenbits.xensource.com/hg/xen-unstable.hg/rev/22023 > [3] > http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html#index-g_t_005fGNU_005fSOURCE-51 > [4] http://xenbits.xensource.com/hg/xen-unstable.hg/rev/24223 > > > >> >>> Signed-off-by: Roger Pau Monne<roger.pau@entel.upc.edu> >> >> >> Acked-by: Ian Campbell<ian.campbell@citrix.com> >>> >>> >>> diff -r 8a84f5337686 -r 7697ee23b08b tools/xenpaging/xenpaging.c >>> --- a/tools/xenpaging/xenpaging.c Tue Dec 13 09:49:55 2011 +0100 >>> +++ b/tools/xenpaging/xenpaging.c Tue Dec 13 10:22:09 2011 +0100 >>> @@ -18,7 +18,6 @@ >>> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 >>> USA >>> */ >>> >>> -#define _XOPEN_SOURCE 600 >>> #define _GNU_SOURCE >>> >>> #include<inttypes.h> > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Roger Pau Monné writes ("Re: [Xen-devel] [PATCH] xenpaging: remove XOPEN_SOURCE"):> 2011/12/13 Laszlo Ersek <lersek@redhat.com>: > > The stuff made visible by _GNU_SOURCE (with glibc) includes everything > > _XOPEN_SOURCE makes visible [3]. [4] introduced it because of asprintf(). > > If it''s not necessary I think it''s best to remove the definition, to > avoid having a lot of useless defines all over the code.I disagree. The purpose of these kind of macros is purely to allow systems to claim standards-compliance and absence of namespace pollution, by default. The logical conclusion is that these kind of problems should be fixed by adding more requests for platform-specific features, not removing them. In this case that would mean adding: #define _NETBSD_SOURCE If the prevalance of these kind of macros is getting irritating they can easily be moved into a common header file somewhere. Ian.
2011/12/13 Ian Jackson <Ian.Jackson@eu.citrix.com>:> I disagree. The purpose of these kind of macros is purely to allow > systems to claim standards-compliance and absence of namespace > pollution, by default. > > The logical conclusion is that these kind of problems should be fixed > by adding more requests for platform-specific features, not removing > them. > > In this case that would mean adding: > #define _NETBSD_SOURCE > > If the prevalance of these kind of macros is getting irritating they > can easily be moved into a common header file somewhere.Ok, I will resend the patch adding _NETBSD_SOURCE instead of removing _XOPEN_SOURCE. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Wed, Dec 14, Roger Pau Monné wrote:> Ok, I will resend the patch adding _NETBSD_SOURCE instead of removing > _XOPEN_SOURCE.How do other source files with asprintf() calls compile for you? (libxl) Why is xenpaging special? Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2011/12/14 Olaf Hering <olaf@aepfle.de>:> On Wed, Dec 14, Roger Pau Monné wrote: > >> Ok, I will resend the patch adding _NETBSD_SOURCE instead of removing >> _XOPEN_SOURCE. > > How do other source files with asprintf() calls compile for you? (libxl) > Why is xenpaging special?libxl doesn't define _XOPEN_SOURCE although it uses asprintf, and other places that define _XOPEN_SOURCE don't use asprintf, that's why I didn't have problems with that before. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, Dec 13, Roger Pau Monne wrote:> # HG changeset patch > # User Roger Pau Monne <roger.pau@entel.upc.edu> > # Date 1323768129 -3600 > # Node ID 7697ee23b08b8eaca9aee4f6b79cf550a490bef7 > # Parent 8a84f53376862427f254a017cb52c928dbdd3d32 > xenpaging: remove XOPEN_SOURCE > > The XOPEN_SOURCE define was breaking the compilation under NetBSD. > I''ve removed it becasue it is not necessary (at least under NetBSD). > If it is necessary for Linux, we can add a ifdef conditional to remove > this only under NetBSD.Please resend with the exact error message in NetBSD. 24223:9e3c2ef70c8a should have removed _XOPEN_SOURCE, and 22023:af6799abc6e9 should have added _GNU_SOURCE in the first place (and give the exact error message as well). Other than that: Acked-by: Olaf Hering <olaf@aepfle.de>
Seemingly Similar Threads
- [PATCH 0 of 2 RESEND] tools: add two new compile flags and perform checks on user defined folders.
- [PATCH] xenpaging:add the dealing of MEM_EVENT_FLAG_EVICT_FAIL request in
- [PATCH] xenpaging: add error code to indicate iommem passthrough
- [PATCH] xenpaging:add a new array to speed up page-in in xenpaging
- event channel in xenpaging