public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug breakpoints/12528] Should we handle constructors that are garbage collected but their debug info isn't?
Date: Fri, 19 Sep 2014 08:59:00 -0000	[thread overview]
Message-ID: <bug-12528-4717-F2PXQle5eG@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-12528-4717@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=12528

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  00ba3162ed1633f9b27f3fdd450e076d3a3f2e90 (commit)
       via  c3b7b696c231416ac90fd9cb7d5ce735b3683356 (commit)
      from  8e635c209bd7dbccd410953334a55ff5fc91e81b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=00ba3162ed1633f9b27f3fdd450e076d3a3f2e90

commit 00ba3162ed1633f9b27f3fdd450e076d3a3f2e90
Author: Yao Qi <yao@codesourcery.com>
Date:   Mon Aug 18 09:57:40 2014 +0800

    Run dw2-var-zero-addr.exp with --readnow

    This patch is to extend dw2-var-zero-add.exp to cover the case that
    partial symtabl is not used while full symtab is used, in order to
    cover the changes in patch 2/3.  This patch restarts GDB with
    --readnow and does the same test again.

    gdb/testsuite:

    2014-09-19  Yao Qi  <yao@codesourcery.com>

        * gdb.dwarf2/dw2-var-zero-addr.exp: Move test into new proc test.
        Invoke test.  Restart GDB with --readnow and invoke test again.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c3b7b696c231416ac90fd9cb7d5ce735b3683356

commit c3b7b696c231416ac90fd9cb7d5ce735b3683356
Author: Yao Qi <yao@codesourcery.com>
Date:   Mon Aug 4 14:57:22 2014 +0800

    Check function is GC'ed

    I see the following fail on arm-none-eabi target,

    (gdb) b 24^M
    Breakpoint 1 at 0x4: file
    ../../../../git/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc,
    line 24.^M
    (gdb) FAIL: gdb.base/break-on-linker-gcd-function.exp: b 24

    Currently, we are using flag has_section_at_zero to determine whether
    address zero in debug info means the corresponding code has been
    GC'ed, like this:

        case DW_LNE_set_address:
          address = read_address (abfd, line_ptr, cu, &bytes_read);

          if (address == 0 && !dwarf2_per_objfile->has_section_at_zero)
            {
              /* This line table is for a function which has been
             GCd by the linker.  Ignore it.  PR gdb/12528 */

    However, this is incorrect on some bare metal targets, as .text
    section is located at 0x0, so dwarf2_per_objfile->has_section_at_zero
    is true.  If a function is GC'ed by linker, the address is zero.  GDB
    thinks address zero is a function's address rather than this function
    is GC'ed.

    In this patch, we choose 'lowpc' got in read_file_scope to check
    whether 'lowpc' is greater than zero.  If it isn't, address zero really
    means the function is GC'ed.  In this patch, we pass 'lowpc' in
    read_file_scope through handle_DW_AT_stmt_list and dwarf_decode_lines,
    and to dwarf_decode_lines_1 finally.

    This patch fixes the fail above. This patch also covers the path that
    partial symbol isn't used, which is tested by starting gdb with
    --readnow option.

    It is regression tested on x86-linux with
    target_board=dwarf4-gdb-index, and arm-none-eabi.  OK to apply?

    gdb:

    2014-09-19  Yao Qi  <yao@codesourcery.com>

        * dwarf2read.c (dwarf_decode_lines): Update declaration.
        (handle_DW_AT_stmt_list): Add argument 'lowpc'.  Update
        comments.  Callers update.
        (dwarf_decode_lines): Likewise.
        (dwarf_decode_lines_1): Add argument 'lowpc'.  Update
        comments.  Skip the line table if  'lowpc' is greater than
        'address'.  Don't check
        dwarf2_per_objfile->has_section_at_zero.

    gdb/testsuite:

    2014-09-19  Yao Qi  <yao@codesourcery.com>

        * gdb.base/break-on-linker-gcd-function.exp: Move test into new
        proc set_breakpoint_on_gcd_function.  Invoke
        set_breakpoint_on_gcd_function.  Restart GDB with --readnow and
        invoke set_breakpoint_on_gcd_function again.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog                                      |   11 ++++++
 gdb/dwarf2read.c                                   |   33 +++++++++++++------
 gdb/testsuite/ChangeLog                            |   12 +++++++
 .../gdb.base/break-on-linker-gcd-function.exp      |   24 +++++++++++---
 gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp     |   19 +++++++++--
 5 files changed, 80 insertions(+), 19 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


      parent reply	other threads:[~2014-09-19  8:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-01 22:18 [Bug breakpoints/12528] New: " dje at google dot com
2011-03-11  8:12 ` [Bug breakpoints/12528] " dje at google dot com
2011-03-16 18:15 ` cvs-commit at gcc dot gnu.org
2011-03-16 18:16 ` cvs-commit at gcc dot gnu.org
2011-03-16 18:22 ` ppluzhnikov at google dot com
2014-09-19  8:59 ` cvs-commit at gcc dot gnu.org [this message]

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=bug-12528-4717-F2PXQle5eG@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).