[rfa/testsuite] gdb1250.exp: Handle pending breakpoint in shared library

Michael Elizabeth Chastain
2004-03-11T01:22:35Z

Here is another attempt to fix gdb1250.exp so that it works with
the new 'pending breakpoint' feature.

I would like to get this fixed so that I can take it off my list
of regressions for binutils binutils-2_15-branch versus binutils 2.14.

Tested on: native i686-pc-linux-gnu, gcc 2.95.3 3.3.3 HEAD,
binutils 2.14 binutils-2_15-branch HEAD, dwarf-2 stabs+.

I'm not sure that "run" is the right command to issue to start
running the inferior. If it's not the right command, I would be
happy to change it.

Okay to commit?

Michael C

2004-03-10 Michael Chastain <mec.gnu@mindspring.com>

* gdb.base/gdb1250.exp: Accommodate a pending breakpoint in
a shared library.

Index: gdb1250.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/gdb1250.exp,v
retrieving revision 1.1
diff -c -3 -p -r1.1 gdb1250.exp
*** gdb1250.exp 15 Jul 2003 16:28:21 -0000 1.1
--- gdb1250.exp 11 Mar 2004 01:17:07 -0000
***************
*** 1,4 ****
! # Copyright 2003 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
--- 1,4 ----
! # Copyright 2003, 2004 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
*************** gdb_start
*** 42,51 ****
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}

! if ![runto abort] then {
! perror "couldn't run to breakpoint"
! continue
}

# See http://sources.redhat.com/gdb/bugs/1250
#
--- 42,62 ----
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}

! # Run on 'abort'. 'abort' is special because gcc knows that it is a
! # no-return function, so gcc does a special optimization in every
! # caller of 'abort'.
!
! set name "break abort"
! gdb_test_multiple "break abort" $name {
! -re "Function \"abort\" not defined\.\r\nMake breakpoint pending on future shared library load\\? \\(y or \\\[n\\\]\\) $" {
! gdb_test "y" "" $name
! }
! -re "Breakpoint $decimal at .*\r\n$gdb_prompt $" {
! pass $name
! }
}
+
+ gdb_test "run" "Breakpoint $decimal.*abort.*" "run to abort"

# See http://sources.redhat.com/gdb/bugs/1250
#