Re: [PATCH v3] filter local function prefixed by $L

From: Wu Zhangjin
Date: Mon Jun 15 2009 - 14:48:55 EST


On Mon, 2009-06-15 at 12:30 -0400, Steven Rostedt wrote:
> On Mon, 15 Jun 2009, David Daney wrote:
>
> > Wu Zhangjin wrote:
> > > From: Wu Zhangjin <wuzj@xxxxxxxxxx>
> > >
> > > this patch fixed the warning as following:
> > >
> > > mipsel-linux-gnu-objcopy: 'fs/proc/.tmp_gl_devices.o': No such file
> > > mipsel-linux-gnu-ld: fs/proc/.tmp_gl_devices.o: No such file: No such
> > > file or directory
> > > rm: cannot remove `fs/proc/.tmp_gl_devices.o': No such file or directory
> > > rm: cannot remove `fs/proc/.tmp_mx_devices.o': No such file or directory
> > >
> > > the real reason of above warning is that the $Lxx local functions will
> > > be treated as global symbols, so, should be filtered.
> > >
> > > Signed-off-by: Wu Zhangjin <wuzj@xxxxxxxxxx>
> > > ---
> > > scripts/recordmcount.pl | 4 ++++
> > > 1 files changed, 4 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
> > > index 533d3bf..542cb04 100755
> > > --- a/scripts/recordmcount.pl
> > > +++ b/scripts/recordmcount.pl
> > > @@ -343,6 +343,10 @@ sub update_funcs
> > > if (!$use_locals) {
> > > return;
> > > }
> > > + # filter $LXXX tags
> > > + if ("$ref_func" =~ m/\$L/) {
> > > + return;
> > > + }
> >
> > Certainly this is true for mips. I doubt it is for all architectures targed
> > by Linux.
>

have tried to use function_regex instead, but for I'm poor in playing
with regular expression of perl. at last, i use something easier like
above. and I _guess_ this problem maybe exist in some other platforms,
so just put it there.

> Yes, that should probably go into a mips only change. Unless you can
> reproduce it on all other archs, or at least x86.
>
> You could also do this in the function_regex variable.
>
> "^([0-9a-fA-F]+)\\s+<(.|[^\$]L.*?|\$[^L].*?|[^\$][^L].*?)>:"
>

works well, and this seems mips64-specific, so, I moved this specific
function_regex to "if ($bits == 64) { ... }".

> There may even be a better way, but I'm not in the mood to look it up ;-)

seems not that easy to understand :-)

-- Wu Zhangjin

--
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/