Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: gdb-patches@sourceware.org,	Joel Brobecker <brobecker@adacore.com>
Subject: [PATCH 0/2] Fix a couple gdb.ada/minsyms.exp problems
Date: Tue, 21 Nov 2017 16:11:00 -0000	[thread overview]
Message-ID: <1511280661-14725-1-git-send-email-palves@redhat.com> (raw)

Hi Joel, all,

The new gdb.ada/minsyms.exp testcase fails for me like this:

 FAIL: gdb.ada/minsyms.exp: print integer(some_minsym)
 FAIL: gdb.ada/minsyms.exp: print &some_minsym
 FAIL: gdb.ada/minsyms.exp: print /x integer(&some_minsym)

There are two problems here.

One's obvious: the testcase hardcodes an expected address for the
"some_minsym" variable, which obviously can't work everywhere.

The other problem is that if you have debug info for glibc, GDB
loses track of the fact that the program is a Ada program, and
switches the current language to C, where Ada's cast syntax doesn't
work:

    print integer(some_minsym)
    A syntax error in expression, near `some_minsym)'.
    (gdb) FAIL: gdb.ada/minsyms.exp: print integer(some_minsym)
    print &some_minsym

I first thought of doing "set language ada" in the testcase, but
looking deeper, I realized that before running to main, GDB knows the
program is Ada, and is losing that when handling a shared library
event.  That looks like a GDB bug, so I'm proposing fixing GDB
instead.

WDYT?

Pedro Alves (2):
  gdb.ada/minsyms.exp: Don't hardcode the variable's address
  Don't lose language determined from the "main" name (fix
    gdb.ada/minsyms.exp)

 gdb/solib-svr4.c                  | 15 +++++++++++++++
 gdb/testsuite/gdb.ada/minsyms.exp |  2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

-- 
2.5.5


             reply	other threads:[~2017-11-21 16:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-21 16:11 Pedro Alves [this message]
2017-11-21 16:11 ` [PATCH 1/2] gdb.ada/minsyms.exp: Don't hardcode the variable's address Pedro Alves
2017-11-21 16:24   ` Sergio Durigan Junior
2017-11-21 16:50   ` Joel Brobecker
2017-11-21 17:08     ` Pedro Alves
2017-11-21 16:11 ` [PATCH 2/2] Don't lose language determined from the "main" name (fix gdb.ada/minsyms.exp) Pedro Alves
2017-11-21 16:23   ` Sergio Durigan Junior
2017-11-21 16:42     ` Pedro Alves
2017-11-21 16:53       ` Sergio Durigan Junior
2017-11-21 16:56       ` Pedro Alves
2017-11-21 17:05         ` Pedro Alves
2017-11-21 17:15         ` Sergio Durigan Junior
2017-11-21 17:22           ` Pedro Alves

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=1511280661-14725-1-git-send-email-palves@redhat.com \
    --to=palves@redhat.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@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