diff options
author | Pedro Alves <palves@redhat.com> | 2009-03-05 22:37:11 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-03-05 22:37:11 +0000 |
commit | aae64587896fc361f18a6a38e988c5610276bf17 (patch) | |
tree | 7450b7c9c3e4d1b7e218b5b259dfd816a7f7bafb /gdb/testsuite | |
parent | 5fa9e92f74b051a84c435688595c141456a5d9f3 (diff) | |
download | gdb-aae64587896fc361f18a6a38e988c5610276bf17.zip gdb-aae64587896fc361f18a6a38e988c5610276bf17.tar.gz gdb-aae64587896fc361f18a6a38e988c5610276bf17.tar.bz2 |
gdb/
2009-03-05 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (check_duplicates_for): Skip permanent breakpoints
duplicates of permanent breakpoints.
gdb/testsuite/
2009-03-05 Pedro Alves <pedro@codesourcery.com>
* gdb.arch/i386-permbkpt.S, gdb.arch/i386-permbkpt.exp: New.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-permbkpt.S | 30 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-permbkpt.exp | 52 |
3 files changed, 86 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index e3aaeab..e886869 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-03-05 Pedro Alves <pedro@codesourcery.com> + + * gdb.arch/i386-permbkpt.S, gdb.arch/i386-permbkpt.exp: New. + 2009-02-18 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.base/macscp.exp (objfile): Move it to ${objdir}/${subdir}/. diff --git a/gdb/testsuite/gdb.arch/i386-permbkpt.S b/gdb/testsuite/gdb.arch/i386-permbkpt.S new file mode 100644 index 0000000..02a31d6 --- /dev/null +++ b/gdb/testsuite/gdb.arch/i386-permbkpt.S @@ -0,0 +1,30 @@ +/* Copyright 2009 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 + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + This file is part of the gdb testsuite. */ + +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a ## b + +#ifdef SYMBOL_PREFIX +# define SYMBOL(str) CONCAT1(SYMBOL_PREFIX, str) +#else +# define SYMBOL(str) str +#endif + + .global SYMBOL(main) +SYMBOL(main): + int3 + ret diff --git a/gdb/testsuite/gdb.arch/i386-permbkpt.exp b/gdb/testsuite/gdb.arch/i386-permbkpt.exp new file mode 100644 index 0000000..f1930e5 --- /dev/null +++ b/gdb/testsuite/gdb.arch/i386-permbkpt.exp @@ -0,0 +1,52 @@ +# Copyright (C) 2009 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 +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +# This file is part of the gdb testsuite. + +if $tracelevel { + strace $tracelevel +} + +# Test inserting breakpoints over permanent breakpoints on i386 and amd64. + +if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then { + verbose "Skipping i386 test for multi break at permanent breakpoint location." + return +} + +set testfile "i386-permbkpt" +set srcfile ${testfile}.S +set binfile ${objdir}/${subdir}/${testfile} + +# Some targets have leading underscores on assembly symbols. +# TODO: detect this automatically +set additional_flags "" +if { [istarget "*-*-cygwin*"] || [istarget "*-*-mingw*"] } then { + set additional_flags "additional_flags=-DSYMBOL_PREFIX=_" +} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug $additional_flags]] != "" } { + untested i386-permbkpt.exp + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +gdb_test "break main" "" "First permanent break" +gdb_test "break main" "" "Second permanent break" |