From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27696 invoked by alias); 10 Jun 2019 07:28:41 -0000 Mailing-List: contact gdb-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: gdb-cvs-owner@sourceware.org List-Subscribe: Sender: gdb-cvs-owner@sourceware.org Received: (qmail 27678 invoked by uid 9882); 10 Jun 2019 07:28:41 -0000 Date: Mon, 10 Jun 2019 07:28:00 -0000 Message-ID: <20190610072841.27677.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Tom de Vries To: gdb-cvs@sourceware.org Subject: [binutils-gdb] [gdb/symtab] Support DW_AT_main_subprogram with -readnow. X-Act-Checkin: binutils-gdb X-Git-Author: Tom de Vries X-Git-Refname: refs/heads/master X-Git-Oldrev: a72f8c4ce397a0bbe98281d4151982330ad16f15 X-Git-Newrev: 81873cc81effbd657efe5f525d369e430ce77d7a X-SW-Source: 2019-06/txt/msg00022.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=81873cc81effbd657efe5f525d369e430ce77d7a commit 81873cc81effbd657efe5f525d369e430ce77d7a Author: Tom de Vries Date: Mon Jun 10 09:28:30 2019 +0200 [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: --- gdb/ChangeLog | 6 ++++++ gdb/dwarf2read.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index efe4618..3a40ecc 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 e1d6bb2..9d9bc99 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);