Re: [tip:perf/core] tools: Add err.h with ERR_PTR PTR_ERR interface

From: Jiri Olsa
Date: Tue Sep 29 2015 - 03:14:25 EST


On Mon, Sep 28, 2015 at 11:35:45PM -0700, Vinson Lee wrote:
> On Mon, Sep 21, 2015 at 4:41 PM, Vinson Lee <vlee@xxxxxxxxxxxxxxxx> wrote:
> > On Wed, Sep 16, 2015 at 12:28 AM, tip-bot for Jiri Olsa
> > <tipbot@xxxxxxxxx> wrote:
> >> Commit-ID: 01ca9fd41d6f2ad796a6b109b5253e06b6ae6dc7
> >> Gitweb: http://git.kernel.org/tip/01ca9fd41d6f2ad796a6b109b5253e06b6ae6dc7
> >> Author: Jiri Olsa <jolsa@xxxxxxxxxx>
> >> AuthorDate: Mon, 7 Sep 2015 10:38:03 +0200
> >> Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> >> CommitDate: Tue, 15 Sep 2015 09:48:32 -0300
> >>
> >> tools: Add err.h with ERR_PTR PTR_ERR interface
> >>
> >> Adding part of the kernel's <linux/err.h> interface:
> >>
> >> inline void * __must_check ERR_PTR(long error);
> >> inline long __must_check PTR_ERR(__force const void *ptr);
> >> inline bool __must_check IS_ERR(__force const void *ptr);
> >>
> >> It will be used to propagate error through pointers in following
> >> patches.
> >>
> >> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> >> Reviewed-by: Raphael Beamonte <raphael.beamonte@xxxxxxxxx>
> >> Cc: David Ahern <dsahern@xxxxxxxxx>
> >> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx>
> >> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> >> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> >> Link: http://lkml.kernel.org/r/1441615087-13886-2-git-send-email-jolsa@xxxxxxxxxx
> >> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> >
> >
> > Hi.
> >
> > This patch appears to have introduced a build error on CentOS 6.7 with GCC 4.4.
> >
> > This build error occurs on next-20150921.
> >
> > CC util/evlist.o
> > cc1: warnings being treated as errors
> > In file included from util/evlist.c:28:
> > tools/include/linux/err.h: In function âERR_PTRâ:
> > tools/include/linux/err.h:34: error: declaration of âerrorâ shadows a
> > global declaration
> > util/util.h:135: error: shadowed declaration is here
> >
> > $ gcc --version
> > gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
> > Copyright (C) 2010 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions. There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> >
> > Cheers,
> > Vinson
>
> Hi.
>
> This build error still occurs with next-20150929.

attached patch should fix it

FYI there's another instance of this bug in parse-events.c in
Arnaldo's perf/core due to recent fixes, I'll send out fix shortly

thanks,
jirka


---
The error variable breaks build on CentOS 6.7, due to
collision with global error symbol:

CC util/evlist.o
cc1: warnings being treated as errors
In file included from util/evlist.c:28:
tools/include/linux/err.h: In function âERR_PTRâ:
tools/include/linux/err.h:34: error: declaration of âerrorâ shadows a global declaration
util/util.h:135: error: shadowed declaration is here

Using 'err' name instead to fix it.

Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-i9mdgdbrgauy3fe76s9rd125@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/include/linux/err.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
index c9ada48f5156..1156cd20e0b7 100644
--- a/tools/include/linux/err.h
+++ b/tools/include/linux/err.h
@@ -31,9 +31,9 @@

#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)

-static inline void * __must_check ERR_PTR(long error)
+static inline void * __must_check ERR_PTR(long err)
{
- return (void *) error;
+ return (void *) err;
}

static inline long __must_check PTR_ERR(__force const void *ptr)
--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/