From: Tom de Vries Date: Mon, 10 Jun 2019 07:28:30 +0000 (+0200) Subject: [gdb/symtab] Support DW_AT_main_subprogram with -readnow. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81873cc81eff;p=binutils-gdb.git [gdb/symtab] Support DW_AT_main_subprogram with -readnow. DW_AT_main_subprogram is supported in normal mode in read_partial_die, but not in -readnow mode. Fix this by adding support for DW_AT_main_subprogram in read_func_scope. Tested on x86_64-linux with native and RFC target board readnow ( https://sourceware.org/ml/gdb-patches/2019-05/msg00073.html ). gdb/ChangeLog: 2019-06-10 Tom de Vries PR symtab/16264 PR symtab/24517 * dwarf2read.c (read_func_scope): Handle DW_AT_main_subprogram. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index efe461884eb..3a40ecc1691 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-06-10 Tom de Vries + + PR symtab/16264 + PR symtab/24517 + * dwarf2read.c (read_func_scope): Handle DW_AT_main_subprogram. + 2019-06-06 Руслан Ижбулатов * source.c (find_and_open_source): Also rewrite relative file diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index e1d6bb2d580..9d9bc9948aa 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -13746,6 +13746,10 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) newobj->name = new_symbol (die, read_type_die (die, cu), cu, (struct symbol *) templ_func); + if (dwarf2_flag_true_p (die, DW_AT_main_subprogram, cu)) + set_objfile_main_name (objfile, SYMBOL_LINKAGE_NAME (newobj->name), + cu->language); + /* If there is a location expression for DW_AT_frame_base, record it. */ attr = dwarf2_attr (die, DW_AT_frame_base, cu);