All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH] tools/perf: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data
Date: Tue, 8 Nov 2022 18:08:27 -0300	[thread overview]
Message-ID: <Y2rFS6CPfhIQhYUc@kernel.org> (raw)
In-Reply-To: <CAM9d7ci8YX22Bp31ZD9k31NFN6pP3fbPKpNDNZYnmdZiqav1Vg@mail.gmail.com>

Em Mon, Nov 07, 2022 at 01:09:00PM -0800, Namhyung Kim escreveu:
> Hi Masami,
> 
> On Fri, Nov 4, 2022 at 8:01 PM Masami Hiramatsu (Google)
> <mhiramat@kernel.org> wrote:
> >
> > From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> >
> > Dwarf version 5 standard Sec 2.14 says that
> >
> >   Any debugging information entry representing the declaration of an object,
> >   module, subprogram or type may have DW_AT_decl_file, DW_AT_decl_line and
> >   DW_AT_decl_column attributes, each of whose value is an unsigned integer
> >   constant.
> >
> > So it should be an unsigned integer data. Also, even though the standard
> > doesn't clearly say the DW_AT_call_file is signed or unsigned, the
> > elfutils (eu-readelf) interprets it as unsigned integer data and it is
> > natural to handle it as unsigned integer data as same as DW_AT_decl_file.
> > This changes the DW_AT_call_file as unsigned integer data too.
> >
> > Fixes: 3f4460a28fb2 ("perf probe: Filter out redundant inline-instances")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 
> Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks, applied.

- Arnaldo

 
> Thanks,
> Namhyung
> 
> 
> > ---
> >  tools/perf/util/dwarf-aux.c |   21 ++++-----------------
> >  1 file changed, 4 insertions(+), 17 deletions(-)
> >
> > diff --git a/tools/perf/util/dwarf-aux.c b/tools/perf/util/dwarf-aux.c
> > index 30b36b525681..b07414409771 100644
> > --- a/tools/perf/util/dwarf-aux.c
> > +++ b/tools/perf/util/dwarf-aux.c
> > @@ -315,19 +315,6 @@ static int die_get_attr_udata(Dwarf_Die *tp_die, unsigned int attr_name,
> >         return 0;
> >  }
> >
> > -/* Get attribute and translate it as a sdata */
> > -static int die_get_attr_sdata(Dwarf_Die *tp_die, unsigned int attr_name,
> > -                             Dwarf_Sword *result)
> > -{
> > -       Dwarf_Attribute attr;
> > -
> > -       if (dwarf_attr_integrate(tp_die, attr_name, &attr) == NULL ||
> > -           dwarf_formsdata(&attr, result) != 0)
> > -               return -ENOENT;
> > -
> > -       return 0;
> > -}
> > -
> >  /**
> >   * die_is_signed_type - Check whether a type DIE is signed or not
> >   * @tp_die: a DIE of a type
> > @@ -467,9 +454,9 @@ int die_get_data_member_location(Dwarf_Die *mb_die, Dwarf_Word *offs)
> >  /* Get the call file index number in CU DIE */
> >  static int die_get_call_fileno(Dwarf_Die *in_die)
> >  {
> > -       Dwarf_Sword idx;
> > +       Dwarf_Word idx;
> >
> > -       if (die_get_attr_sdata(in_die, DW_AT_call_file, &idx) == 0)
> > +       if (die_get_attr_udata(in_die, DW_AT_call_file, &idx) == 0)
> >                 return (int)idx;
> >         else
> >                 return -ENOENT;
> > @@ -478,9 +465,9 @@ static int die_get_call_fileno(Dwarf_Die *in_die)
> >  /* Get the declared file index number in CU DIE */
> >  static int die_get_decl_fileno(Dwarf_Die *pdie)
> >  {
> > -       Dwarf_Sword idx;
> > +       Dwarf_Word idx;
> >
> > -       if (die_get_attr_sdata(pdie, DW_AT_decl_file, &idx) == 0)
> > +       if (die_get_attr_udata(pdie, DW_AT_decl_file, &idx) == 0)
> >                 return (int)idx;
> >         else
> >                 return -ENOENT;
> >

-- 

- Arnaldo

  reply	other threads:[~2022-11-08 21:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-05  3:01 [PATCH] tools/perf: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data Masami Hiramatsu (Google)
2022-11-07 21:09 ` Namhyung Kim
2022-11-08 21:08   ` Arnaldo Carvalho de Melo [this message]
2022-11-08 23:35     ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y2rFS6CPfhIQhYUc@kernel.org \
    --to=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.