Re: [PATCH][gdb] Mention CU offset for if verbose

Christian Biesinger via gdb-patches
2020-02-07T14:45:50Z

On Fri, Feb 7, 2020 at 6:34 AM Tom de Vries <tdevries@suse.de> wrote:

> diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
> index dafe01d94a..28ade424fd 100644
> --- a/gdb/dwarf2read.c
> +++ b/gdb/dwarf2read.c
> @@ -8020,6 +8020,20 @@ create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
> struct objfile *objfile = per_cu->dwarf2_per_objfile->objfile;
> dwarf2_psymtab *pst;
>
> + const char *artificial = "<artificial>";

This may not matter but I'd use static const char artificial[] = "..."

> + if (strcmp (name, artificial) == 0)
> + {
> + sect_offset cu_offset = per_cu->sect_off;
> + const char *cu_offset_str = sect_offset_str (cu_offset);
> + const char *sep = "@";
> + char *new_name = (char *) xmalloc (strlen (artificial) + strlen (sep)
> + + strlen (cu_offset_str) + 1);
> + strcpy (new_name, artificial);
> + strcat (new_name, sep);
> + strcat (new_name, cu_offset_str);

Use concat() instead of malloc/strcpy/strcat?

> + name = new_name;
> + }
> +
> pst = new dwarf2_psymtab (name, objfile, 0);
>
> pst->psymtabs_addrmap_supported = true;