From: Simon Marchi <simon.marchi@polymtl.ca>
To: Leszek Swirski <leszeks@google.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix dwarf2_string_attr for -gsplit-dwarf
Date: Tue, 01 Aug 2017 20:21:00 -0000 [thread overview]
Message-ID: <257cba5bb5ca13e66d1e0cd01175aa37@polymtl.ca> (raw)
In-Reply-To: <20170801092030.70676-1-leszeks@google.com>
Hi Leszek,
On 2017-08-01 11:20, Leszek Swirski via gdb-patches wrote:
> The dwarf2_string_attr did not allow DW_FORM_GNU_str_index as a form
> for
> string types. This manifested as null strings in the namespace_name
> lookup (replaced with "(anonymous namespace)") when debugging
> Fission-compiled code.
Thanks for the patch. I am not very knowledgeable in that area, but I
looked at the problem for a while and I think the change is good.
DW_STRING (attr) is set for attribute values of this form in
read_attribute_value. Other functions like dwarf2_const_value_attr and
dump_die_shallow read DW_STRING (attr) when dealing with an attribute of
form DW_FORM_GNU_str_index as well.
If you think this will be a one-time contribution, we can merge the
patch for you, and there is no need for copyright assignment for a
simple patch like that. However, if you'd like to contribute further to
GDB, we can look into giving you write access, so you'll be able to push
patches by yourself. Let me know which one you prefer.
I just have some formatting comments about the patch itself. No need
for a v2, especially if we push for you, but just so you are aware of
the GNU/GDB coding standards.
> gdb/doc/ChangeLog:
The ChangeLog entry for this patch will go in the gdb/ChangeLog file.
>
> * dwarf2read.c: Fix dwarf2_string_attr to allow
> DW_FORM_GNU_str_index
The ChangeLog format has the function name in parentheses, for example:
* dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
> ---
> gdb/dwarf2read.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
> index 2c2ecda7fc..f5bed09116 100644
> --- a/gdb/dwarf2read.c
> +++ b/gdb/dwarf2read.c
> @@ -17623,7 +17623,8 @@ dwarf2_string_attr (struct die_info *die,
> unsigned int name, struct dwarf2_cu *c
> if (attr != NULL)
> {
> if (attr->form == DW_FORM_strp || attr->form ==
> DW_FORM_line_strp
> - || attr->form == DW_FORM_string || attr->form ==
> DW_FORM_GNU_strp_alt)
> + || attr->form == DW_FORM_string || DW_FORM_GNU_str_index
> + || attr->form == DW_FORM_GNU_strp_alt)
The indentation for this line should be one tab + two spaces (like the
previous line).
Thanks,
Simon
next prev parent reply other threads:[~2017-08-01 20:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 9:20 Leszek Swirski via gdb-patches
2017-08-01 20:21 ` Simon Marchi [this message]
2017-08-02 10:13 ` Leszek Swirski via gdb-patches
2017-08-02 10:56 ` Simon Marchi
2017-08-07 14:47 ` Simon Marchi
2017-08-09 13:31 ` Pedro Alves
2017-10-25 9:24 Leszek Swirski via gdb-patches
2017-10-25 14:53 ` Yao Qi
2017-10-25 15:25 ` Simon Marchi
2017-10-25 15:28 ` Leszek Swirski via gdb-patches
2017-10-26 23:44 ` Simon Marchi
2017-10-27 9:19 ` Leszek Swirski via gdb-patches
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=257cba5bb5ca13e66d1e0cd01175aa37@polymtl.ca \
--to=simon.marchi@polymtl.ca \
--cc=gdb-patches@sourceware.org \
--cc=leszeks@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox