This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdb.dwarf2: Define and use gdb_target_symbol_prefix for symbol prefixes
- From: Pedro Alves <palves at redhat dot com>
- To: Kevin Buettner <kevinb at redhat dot com>, gdb-patches at sourceware dot org
- Date: Thu, 05 Nov 2015 21:19:05 +0000
- Subject: Re: [PATCH] gdb.dwarf2: Define and use gdb_target_symbol_prefix for symbol prefixes
- Authentication-results: sourceware.org; auth=none
- References: <20151029212509 dot 438b5642 at pinnacle dot lan> <56334F21 dot 1020205 at redhat dot com> <20151104144908 dot 320110e1 at pinnacle dot lan> <563B2BF1 dot 2050007 at redhat dot com> <20151105130140 dot 0fd3404f at pinnacle dot lan>
On 11/05/2015 08:01 PM, Kevin Buettner wrote:
> On Thu, 05 Nov 2015 10:14:09 +0000
> Pedro Alves <palves@redhat.com> wrote:
>> > Not sure I see what makes gdb.dwarf2/atomic-type.exp different?
>> > E.g., the gdb.dwarf2/dw2-bad-mips-linkage-name.exp hunk looks quite
>> > similar. What makes gdb.dwarf2/atomic-type.exp special?
> I was mistaken. Both of these tests - dw2-bad-mips-linkage-name.exp
> and atomic-type.exp - have problems due to the fact that the call to
> gdb_target_symbol appears within a DW_TAG_ construct. The proc
> _handle_DW_TAG performs command and variable expansion within a DW_TAG_
> construct. (It does other things too.)
...
> --- a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
> +++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
...
> compile_unit {
> - {low_pc main DW_FORM_addr}
> - {high_pc main+0x10000 DW_FORM_addr}
> + {low_pc [gdb_target_symbol main] DW_FORM_addr}
> + {high_pc [gdb_target_symbol main]+0x10000 DW_FORM_addr}
> } {
> declare_labels integer_label
>
> @@ -43,8 +43,8 @@ Dwarf::assemble $asm_file {
> DW_TAG_subprogram {
> {name main}
> {DW_AT_external 1 flag}
> - {low_pc main DW_FORM_addr}
> - {high_pc main+0x10000 DW_FORM_addr}
> + {low_pc [gdb_target_symbol main] DW_FORM_addr}
> + {high_pc [gdb_target_symbol main]+0x10000 DW_FORM_addr}
Aren't these above more instances that needed the "join"? I believe
so, but if not, I'd like to understand why not.
The patch looks good to me otherwise.
BTW, OOC, it seems to be that "main+0x10000" were written
without spaces before to make it a single element. Looks like
that requirement is gone now and we could write:
{high_pc [gdb_target_symbol main] + 0x10000 DW_FORM_addr}
(not saying you should do that, just it's just an OOC.)
Thanks,
Pedro Alves