Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@gnat.com>
To: gdb-patches@sources.redhat.com
Subject: [RFA/testsuite/ada] Refine expected output of start command
Date: Thu, 21 Oct 2004 02:49:00 -0000	[thread overview]
Message-ID: <20041021024914.GO21300@gnat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2386 bytes --]

Hello,

While refreshing my memory on how the start command is implemented,
I found that it would currently only work with stabs. This concerns
Ada only, as this is the only language that I remember of that has
a main procedure name that's different from "main".

Anyway, so I checked out the results of gdb.ada/null_record.exp which
I thought were an all PASS. And it is. It's just that the regexp
used to match the expected output is not stringent enough. Basically,
since the current mechanism doesn't work with dwarf2, GDB sets the
temporary breakpoint inside "main", rather than "null_record".
So we get this output:

        (gdb) start
        Breakpoint 1 at 0x8049762: file b~null_record.adb, line 102.
        Starting program: /[...]/null_record 
        main ([...]) at b~null_record.adb:102
        102           Ensure_Reference : System.Address := Ada_Main_Program_Name'Address;

Procedure main is defined in what we call the "binder file", which
is a file generated by the binder, a tool used just prior to linking.
The name of that file follows a convention: "b~" followed by the
name of the file containing the main program name. In this case,
it's "b~null_record.adb".

That's too close to what we put in our regexp for the expected output,
unfortunately. The gdb_test used to be:

        gdb_test "start" \
                 "Breakpoint \[0-9\]+ at .*null_record.adb.*" \
                 "start"

So the test passes although we didn't land at the expected location.

The attached patch changes what we check. Instead of checking
that we inserted a breakpoint inside null_record.adb, I thought
it was better to verify that we landed inside the right function
(null_record) in null_record.adb. This is because inserting the
breakpoint there does not guaranty that we will actually land
there. And that makes it unecessary to refine the check against
the source filename where we landed, since there will be no
null_record() function in the binder file.

2004-10-20  Joel Brobecker  <brobecker@gnat.com>

        * gdb.ada/null_record.exp: Check where we stopped after
        sending the start command, instead of where the associated
        temporary breakpoint was inserted.

This causes the "start" test above to FAIL for now. But the fix for
this should be available soon.

OK to commit? (I verified that this PASSes again once I apply my fix)

Thanks,
-- 
Joel

[-- Attachment #2: null_record.exp.diff --]
[-- Type: text/plain, Size: 565 bytes --]

Index: null_record.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.ada/null_record.exp,v
retrieving revision 1.3
diff -u -p -r1.3 null_record.exp
--- null_record.exp	8 Jun 2004 05:05:33 -0000	1.3
+++ null_record.exp	21 Oct 2004 02:48:40 -0000
@@ -35,7 +35,7 @@ gdb_reinitialize_dir $srcdir/$subdir
 gdb_load ${binfile}
 
 gdb_test "start" \
-         "Breakpoint \[0-9\]+ at .*null_record.adb.*" \
+         "null_record \\(\\) at .*null_record.adb.*" \
          "start"
 
 gdb_test "ptype empty" \

             reply	other threads:[~2004-10-21  2:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-21  2:49 Joel Brobecker [this message]
2004-10-21  3:38 ` Daniel Jacobowitz
2004-10-21  3:56   ` Joel Brobecker
2004-10-21  4:08 Michael Chastain

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=20041021024914.GO21300@gnat.com \
    --to=brobecker@gnat.com \
    --cc=gdb-patches@sources.redhat.com \
    /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