Messages in this thread |  | | Date | Tue, 17 Jan 2012 16:17:58 +0900 | | From | Namhyung Kim <> | | Subject | Re: [PATCH] perf: Fix broken build by rearranging some #includes |
| |
Hi,
2012-01-17 11:01 AM, David Daney wrote: > From: David Daney<david.daney@cavium.com> > > When building on my Debian/mips system, util/util.c fails to build > because commit 1aed2671738785e8f5aea663a6fda91aa7ef59b5 (perf kvm: Do > guest-only counting by default) indirectly includes stdio.h before the > feature selection in util.h is done. This prevents _GNU_SOURCE in > util.h from enabling the declaration of getline(), from now second > inclusion of stdio.h, and the build is broken.
I've experienced similar problem wrt pwrite() last week. The fix was simply removing ctype.h from inclusion for my case.
> > There is another breakage in util/evsel.c caused by include ordering, > but I didn't fully track down the commit that caused it. > > Since the #include situation is a little convoluted throughout perf, I > did the following: > > 1) Always include util/util.h before all other include files. > > 2) Remove all #define _GNU_SOURCE, as it is already done in util.h. > > 3) Remove all #undef _GNU_SOURCE, as they don't do what a naive person > might expect (or much of anything for that matter) and clutter up > the source. > > 4) #include ctype.h in util.h, so that ctype things have uniform > definitions throughout perf.
Among other things, ctype.h isn't needed at all since util.h redefines all of ctype macros anyway. I've posted a patch which removes ctype.h inclusions as Ingo's suggestion.
https://lkml.org/lkml/2012/1/16/510
Thanks, Namhyung Kim
|  |