Re: [PATCH] [RFC V1]s390/perf: fix 'start' address of module's map
From: Jiri Olsa
Date: Wed Jul 13 2016 - 05:08:00 EST
On Wed, Jul 13, 2016 at 02:39:13PM +0800, Songshan Gong wrote:
>
>
> å 7/11/2016 8:01 PM, Jiri Olsa åé:
> > On Mon, Jul 11, 2016 at 07:06:14PM +0800, Songshan Gong wrote:
> >
> > SNIP
> >
> > > >
> > > > we have following functions in tools/lib/api/fs to read
> > > > single number from file, which I assume you do above:
> > > >
> > > > int sysfs__read_int(const char *entry, int *value);
> > > > int sysfs__read_ull(const char *entry, unsigned long long *value);
> > > >
> > > > please check if you could use some of them,
> > > > we could add some more generic one if needed
> > >
> > > It seems infeasible.
> > > Each value in /sys/module/[module name]/sections/.text is a string like
> > > "0x000003ff8130078\n".
> > > But the core function 'strtoull(line, NULL, 10)' in sysfs__read_ull is based
> > > on decimal.
> > >
> > > Maybe you can introduce a new argument indicating the value is based on hex
> > > or decimal, or binary?
> >
> > yea we could specify it directly and add something like:
> >
> > int filename__read_ull(const char *filename, unsigned long long *value, int base)
> >
> > plus some other higher layer helpers..
> >
> > but I wonder if we could use the base 0 (like in the attached patch),
> > the man page says it should be able to detect the base
> >
> > we'd need to check all the current usage to make sure nothing gets broken
> >
> > jirka
> >
> >
>
> Since your patch havn't pushed to devel branch, my next version patch will
> still use the origin method to parse value from /sys/.
I'll make/send the change during this week,
jirka