public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "vries at gcc dot gnu.org" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug testsuite/31647] New: [gdb/testsuite, old dejagnu] ERROR: invalid command name "gdb_find_gnatmake"
Date: Wed, 17 Apr 2024 10:52:34 +0000	[thread overview]
Message-ID: <bug-31647-4717@http.sourceware.org/bugzilla/> (raw)

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

            Bug ID: 31647
           Summary: [gdb/testsuite, old dejagnu] ERROR: invalid command
                    name "gdb_find_gnatmake"
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: testsuite
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

On SLE-11, with a gdb-13.2-based package, I ran into:
...
Running /usr/src/packages/BUILD/gdb-13.2/gdb/testsuite/gdb.ada/mi_prot.exp ...
UNRESOLVED: gdb.ada/mi_prot.exp: testcase aborted due to invalid command name:
gdb_find_gnatmake
ERROR: tcl error sourcing
/usr/src/packages/BUILD/gdb-13.2/gdb/testsuite/gdb.ada/mi_prot.exp.
ERROR: invalid command name "gdb_find_gnatmake"
    while executing
"::gdb_tcl_unknown gdb_find_gnatmake"
    ("uplevel" body line 1)
    invoked from within
"uplevel 1 ::gdb_tcl_unknown $args"
    (procedure "::unknown" line 5)
    invoked from within
"gdb_find_gnatmake"
    (procedure "gnatmake_version_at_least" line 2)
    invoked from within
"gnatmake_version_at_least 8"
    invoked from within
"if { ![gnatmake_version_at_least 8] } {
    return -1
}"
...

The problem is that gdb_find_gnatmake is a backup for find_gnatmake:
...
if {[info procs find_gnatmake] == ""} {
    rename gdb_find_gnatmake find_gnatmake
    set use_gdb_compile(ada) 1
    gdb_note [join [list $note_prefix "Ada" $note_suffix] ""]
}
...
so gnatmake_version_at_least should use find_gnatmake instead.

We normally don't run into this because dejagnu is recent enough to include a
find_gnatmake, so gdb_find_gnatmake is kept.

With SLE-11, an old dejagnu is used, find_gnatmake is not found so
gdb_find_gnatmake is renamed to find_gnatmake, and we run into the error.

It's confusing that we're using the gdb_ prefix here, it seems something
legitimate to use.

Maybe we should use future_ or gdb_future_ prefix instead to make this more
clear.

Also, we could do:
...
 if {[info procs find_gnatmake] == ""} {
     rename gdb_find_gnatmake find_gnatmake
     set use_gdb_compile(ada) 1
     gdb_note [join [list $note_prefix "Ada" $note_suffix] ""]
 } else {
     rename gdb_find_gnatmake ""
 }
...
to prevent it being used by accident with a newer dejagnu.

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

             reply	other threads:[~2024-04-17 10:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17 10:52 vries at gcc dot gnu.org [this message]
2024-04-18 10:26 ` [Bug testsuite/31647] " vries at gcc dot gnu.org
2024-04-18 15:01 ` cvs-commit at gcc dot gnu.org
2024-04-18 15:02 ` vries at gcc dot gnu.org

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-31647-4717@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).