From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Snyder To: gdb-patches@sources.redhat.com Subject: [PATCH RFA] ending-run.exp Date: Mon, 02 Jul 2001 14:43:00 -0000 Message-id: <3B40EB11.A026F84D@cygnus.com> X-SW-Source: 2001-07/msg00016.html This script seems to expect that, if you step past the return from main, you will end up in some sort of "start" function. Can anyone think of any reason why "Program exited normally" is not a legitimate output to see after stepping past the return from main? 2001-07-02 Michael Snyder * gdb.base/ending-run.exp: Accept "Program exited normally" as legitimate output from stepping out of main. Index: ending-run.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/ending-run.exp,v retrieving revision 1.6 diff -c -3 -p -r1.6 ending-run.exp *** ending-run.exp 2001/05/23 19:04:13 1.6 --- ending-run.exp 2001/07/02 21:40:58 *************** if ![gdb_skip_stdio_test "Step to return *** 140,145 **** --- 140,146 ---- set old_timeout $timeout set timeout 50 + set program_exited 0 send_gdb "next\n" gdb_expect { -re "33.*$gdb_prompt $" { *************** gdb_expect { *** 160,165 **** --- 161,171 ---- # This is what happens on sparc64-elf ultra. pass "step out of main" } + -re ".*Program exited normally.*$gdb_prompt $" { + # This is what happens on Linux i86 (and I would expect others) + set program_exited 1 + pass "step out of main" + } -re ".*in .nope ().*$gdb_prompt $" { # This is what happens on Solaris currently -sts 1999-08-25 pass "step out of main on Solaris" *************** gdb_expect { *** 185,190 **** --- 191,201 ---- -re ".*in.*\\\$START\\\$.*from.*dld.sl.*$gdb_prompt $" { pass "step out of main 2" } + -re ".*Program exited normally.*$gdb_prompt $" { + # This is what happens on Linux i86 (and I would expect others) + set program_exited 1 + pass "step out of main" + } -re ".*in.*currently asm.*$gdb_prompt $" { pass "step out of main into assembler" } *************** gdb_expect { *** 196,236 **** } if {![target_info exists use_cygmon] || ![target_info use_cygmon]} { ! send_gdb "n\n" ! gdb_expect { ! -re "Program exited normally.*$gdb_prompt $" { ! # If we actually have debug info for the start function, ! # then we won't get the "Single-stepping until function ! # exit" message. ! pass "step to end of run 1" ! } ! -re ".*Single.*Program exited.*$gdb_prompt $" { ! pass "step to end of run 1" ! } ! -re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" { ! pass "step to end of run 2" ! gdb_test "c" ".*" "continue after exit" ! } ! timeout { fail "(timeout) step to end of run" } } ! set timeout $old_timeout ! ! gdb_test "n" ".*The program is not being run.*" "don't step after run" ! ! set exec_output [remote_exec host "ls core"] ! ! ! if [ regexp "core not found" $exec_output] { ! pass "No core dumped on quit" ! } else { ! if [ regexp "No such file or directory" $exec_output] { ! pass "ls: core: No core dumped on quit" } else { ! remote_exec build "rm -f core" ! fail "Core dumped on quit" } - } } #remote_exec build "rm -f ${binfile}" --- 207,254 ---- } if {![target_info exists use_cygmon] || ![target_info use_cygmon]} { ! global program_exited; ! if {[eval expr $program_exited == 0]} { ! send_gdb "n\n" ! gdb_expect { ! -re "Program exited normally.*$gdb_prompt $" { ! # If we actually have debug info for the start function, ! # then we won't get the "Single-stepping until function ! # exit" message. ! pass "step to end of run 1" ! } ! -re ".*Single.*Program exited.*$gdb_prompt $" { ! pass "step to end of run 1" ! } ! -re ".*Single.*in exit.*from.*dld.sl.*$gdb_prompt $" { ! pass "step to end of run 2" ! gdb_test "c" ".*" "continue after exit" ! } ! -re ".*$gdb_prompt $" { ! fail "step to end of run" ! } ! timeout { ! fail "(timeout) step to end of run" ! } ! } } + + set timeout $old_timeout ! gdb_test "n" ".*The program is not being run.*" "don't step after run" ! ! set exec_output [remote_exec host "ls core"] ! ! if [ regexp "core not found" $exec_output] { ! pass "No core dumped on quit" } else { ! if [ regexp "No such file or directory" $exec_output] { ! pass "ls: core: No core dumped on quit" ! } else { ! remote_exec build "rm -f core" ! fail "Core dumped on quit" ! } } } #remote_exec build "rm -f ${binfile}" >From msnyder@cygnus.com Mon Jul 02 14:53:00 2001 From: Michael Snyder To: gdb-patches@sources.redhat.com Subject: [PATCH] corefile.exp regexp fix Date: Mon, 02 Jul 2001 14:53:00 -0000 Message-id: <3B40ED69.6C7FB4C7@cygnus.com> X-SW-Source: 2001-07/msg00017.html Content-length: 1140 2001-07-02 Michael Snyder * gdb.base/corefile.exp: Quote the curly braces in regexp. Index: corefile.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/corefile.exp,v retrieving revision 1.3 diff -c -3 -p -r1.3 corefile.exp *** corefile.exp 2001/03/06 08:21:50 1.3 --- corefile.exp 2001/07/02 21:51:40 *************** gdb_test "print coremaker_data" "\\\$$de *** 189,195 **** gdb_test "print coremaker_bss" "\\\$$decimal = 10" gdb_test "print coremaker_ro" "\\\$$decimal = 201" ! gdb_test "print func2::coremaker_local" "\\\$$decimal = {0, 1, 2, 3, 4}" # Somehow we better test the ability to read the registers out of the core # file correctly. I don't think the other tests do this. --- 189,195 ---- gdb_test "print coremaker_bss" "\\\$$decimal = 10" gdb_test "print coremaker_ro" "\\\$$decimal = 201" ! gdb_test "print func2::coremaker_local" "\\\$$decimal = \\{0, 1, 2, 3, 4\\}" # Somehow we better test the ability to read the registers out of the core # file correctly. I don't think the other tests do this. >From kevinb@cygnus.com Mon Jul 02 14:53:00 2001 From: Kevin Buettner To: fnf@redhat.com Cc: gdb-patches@sourceware.cygnus.com Subject: Re: [PATCH] Fix auto-solib-add bug (patch revised 7/1/2001) Date: Mon, 02 Jul 2001 14:53:00 -0000 Message-id: <1010702215326.ZM24300@ocotillo.lan> References: <200107012207.f61M73600827@gofish.ninemoons.com> X-SW-Source: 2001-07/msg00018.html Content-length: 1226 On Jul 1, 3:07pm, Fred Fish wrote: > Here is the latest patch, which should apply cleanly to the sourceware > gdb sources as of today. I also made a couple of other minor tweaks > and cleanups. Fred, Your patch is approved except for the portions which move the declaration of auto_solib_add from symfile.h to coff-solib.h, solib.h, and somsolib.h. I would prefer that you submit a separate patch for this change. (I spoke with Jim Blandy about them and he pointed out that the declaration of auto_solib_add ought to stay in symfile.h so long as the definition remains in symfile.c.) In any event, I think that moving the declaration of auto_solib_add qualifies as a cleanup activity and isn't necessary for the rest of your patch to work. One of the problems with approving this patch is that it touches a lot of files for which I am not a maintainer. I have spoken with Michael Snyder regarding your changes to infcmd.c and infrun.c and he has no problem with them. I believe that the rest of the changes are "obvious" once the rest of your changes are accepted, but just the same it probably wouldn't hurt to wait a couple of days before checking them in just in case some other maintainer has issues... Kevin