On Mon, Feb 16, 2015 at 12:50 PM, Yann Droneaud <[email protected]> wrote: > Hi, > > Le vendredi 13 février 2015 à 18:06 -0800, Vinson Lee a écrit : >> From: Vinson Lee <[email protected]> >> >> This patch fixes this build error with glibc < 2.6. >> >> CC util/cloexec.o >> cc1: warnings being treated as errors >> util/cloexec.c: In function ‘perf_flag_probe’: >> util/cloexec.c:24: error: implicit declaration of function >> ‘sched_getcpu’ >> util/cloexec.c:24: error: nested extern declaration of ‘sched_getcpu’ >> make: *** [util/cloexec.o] Error 1 >> >> Cc: [email protected] # 3.18+ >> Signed-off-by: Vinson Lee <[email protected]> >> --- >> tools/perf/util/cloexec.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c >> index 47b78b3..3738924 100644 >> --- a/tools/perf/util/cloexec.c >> +++ b/tools/perf/util/cloexec.c >> @@ -7,6 +7,12 @@ >> >> static unsigned long flag = PERF_FLAG_FD_CLOEXEC; >> >> +#ifdef __GLIBC_PREREQ >> +#if __GLIBC_PREREQ(2, 6) >> +#define HAVE_SCHED_GETCPU >> +#endif >> +#endif >> + > > OK > >> static int perf_flag_probe(void) >> { >> /* use 'safest' configuration as used in perf_evsel__fallback() */ >> @@ -21,9 +27,13 @@ static int perf_flag_probe(void) >> pid_t pid = -1; >> char sbuf[STRERR_BUFSIZE]; >> >> +#ifdef HAVE_SCHED_GETCPU >> cpu = sched_getcpu(); >> if (cpu < 0) >> cpu = 0; >> +#else >> + cpu = 0; >> +#endif >> >> while (1) { >> /* check cloexec flag */ > > I've reviewed the use of __GLIBC_PREREQ(2, 6), but not whether using cpu > = 0 is OK if sched_getcpu() is not available. > > Reviewed-by: Yann Droneaud <[email protected]> > > Regards. > > -- > Yann Droneaud > OPTEYA > > >
Ping. Please review the sched_getcpu hunk. -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
