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 gdb/17407] Regression for Linux vDSO reading
Date: Thu, 18 Sep 2014 06:29:00 -0000	[thread overview]
Message-ID: <bug-17407-4717-9abFz3VQrZ@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-17407-4717@http.sourceware.org/bugzilla/>

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

--- Comment #2 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, gdb-7.8-branch has been updated
       via  54fbc750b54271efb75ae11ce49f14c4234a9476 (commit)
      from  6e4257b081621e64f4974d0c2cc12cbc5e542307 (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=54fbc750b54271efb75ae11ce49f14c4234a9476

commit 54fbc750b54271efb75ae11ce49f14c4234a9476
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Sep 18 08:21:40 2014 +0200

    Fix regression for Linux vDSO in GDB (PR gdb/17407).

    since
        5979d6b69b20a8355ea94b75fad97415fce4788c
       
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5979d6b69b20a8355ea94b75fad97415fce4788c
        vdso handling
        https://sourceware.org/ml/binutils/2014-03/msg00082.html
        https://sourceware.org/ml/binutils/2014-04/msg00003.html
        Message-ID:
<A78C989F6D9628469189715575E55B230AA884EB@IRSMSX104.ger.corp.intel.com>
    I get on
        kernel-3.16.2-200.fc20.x86_64
        https://koji.fedoraproject.org/koji/buildinfo?buildID=575860
        attaching its vdso.bin.gz
    GDB (FSF HEAD 5e43d46791c4c66fd83947a12d4f716b561a9103) regression:
    reproducer:
        ./gdb -ex start ./gdb
    actual result / FAIL:
        Got object file from memory but can't read symbols: File truncated.
    expected result / PASS:
        <nothing>
    or / PASS:
        warning: Could not load shared library symbols for linux-vdso.so.1.
        Do you need "set solib-search-path" or "set sysroot"?

    That "warning: Could not load shared library..." is mostly harmless (it is
    a bug in GDB), in the FAIL case it is not printed just because
    bfd_check_format() fails there.

    It seems logical to me this way when the 'size' parameter has been already
    added.
    Alan Modra:
    I was wrongly thinking that the section headers were
    always last when I wrote that code.  (They are now!  If you relink
    that vdso with current binutils master you won't hit this problem, but
    that of course doesn't help existing kernels.)

    I do not see a regression for add-symbol-file-from-memory for
libncurses.so.5
    from the original thread above.

      Start of section headers:          1080 (bytes into file)
      Size of section headers:           64 (bytes)
      Number of section headers:         13
      Section header string table index: 8
    Section Headers:
      [Nr] Name              Type            Address          Off    Size   ES
Flg Lk Inf Al
      [ 8] .fake_shstrtab    STRTAB          0000000000000780 000780 000076 00 
 A  0   0 32
    Program Headers:
      Type           Offset   VirtAddr           PhysAddr           FileSiz 
MemSiz   Flg Align
      LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x0012fe
0x0012fe R E 0x1000

    size == 0x2000
    shdr_end == 0x778 == 1080 + 13 * 64
    high_offset == 0x12fe

           else if (size >= shdr_end)
    -    high_offset = shdr_end;
    +    high_offset = size;

    But then 0x778 < 0x780 for "Section header string table index" so whole
    bfd_check_format() fails because section headers were not cleared here:
      /* If the segments visible in memory didn't include the section headers,
         then clear them from the file header.  */
      if (high_offset < shdr_end)

    bfd/ChangeLog
    2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>

        PR gdb/17407
        * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.

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

Summary of changes:
 bfd/ChangeLog |    5 +++++
 bfd/elfcode.h |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

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


  parent reply	other threads:[~2014-09-18  6:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-17 18:59 [Bug gdb/17407] New: " jan.kratochvil at redhat dot com
2014-09-18  6:26 ` [Bug gdb/17407] " cvs-commit at gcc dot gnu.org
2014-09-18  6:29 ` cvs-commit at gcc dot gnu.org [this message]
2014-09-18  6:31 ` jan.kratochvil at redhat dot com
2014-10-29 19:48 ` cvs-commit at gcc dot gnu.org
2021-11-09  8:32 ` johnsjvi95 at gmail dot com

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-17407-4717-9abFz3VQrZ@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).