* config/tc-arm.c (arm_cpus): Add entry for ARM Cortex-M0.
[binutils-gdb.git] / gdb / testsuite / gdb.arch / i386-size-overlap.exp
blob2b82734c69d25f73175c71f294fc61da5365998f
1 # Copyright 2007, 2008, 2009 Free Software Foundation, Inc.
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 # This file is part of the gdb testsuite.
18 if $tracelevel {
19     strace $tracelevel
22 # Test that GDB can handle overlapping sizes of symbols.
24 if ![istarget "i?86-*-*"] then {
25     verbose "Skipping i386 unwinder tests."
26     return
29 set testfile "i386-size-overlap"
30 set srcfile ${testfile}.c
31 set binfile ${objdir}/${subdir}/${testfile}
33 # some targets have leading underscores on assembly symbols.
34 # TODO: detect this automatically
35 set additional_flags ""
36 if [istarget "i?86-*-cygwin*"] then {
37   set additional_flags "additional_flags=-DSYMBOL_PREFIX=\"_\""
40 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
41           executable [list debug $additional_flags]] != "" } {
42     untested "i386-size"
43     return -1
46 gdb_exit
47 gdb_start
48 gdb_reinitialize_dir $srcdir/$subdir
49 gdb_load ${binfile}
51 # We use gdb_run_cmd so this stands a chance to work for remote
52 # targets too.
53 gdb_run_cmd
55 gdb_expect {
56     -re "Program received signal SIGTRAP.*$gdb_prompt $" {
57         pass "run past main"
58     }
59     -re ".*$gdb_prompt $" {
60         fail "run past main"
61     }
62     timeout {
63         fail "run past main (timeout)"
64     }
67 set message "backtrace shows the outer function"
68 gdb_test_multiple "backtrace 10" $message {
69     -re "#1\[ \t]*$hex in inner.*$gdb_prompt $" {
70         fail $message
71     }
72     -re "#1\[ \t]*$hex in main.*$gdb_prompt $" {
73         pass $message
74     }