From b966cb8abe34be31fae6aed3e6e9c9cc4c8696b2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 20 Jan 2010 18:06:16 +0000 Subject: gdb PR backtrace/10770: * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case. * dwarf2expr.c (new_dwarf_expr_context): Allocate dwarf_stack_values, not CORE_ADDRs. (execute_stack_op): Change DW_OP_div and comparison operators to use signed operands. gdb/testsuite PR backtrace/10770: * gdb.dwarf2/pr10770.exp: New file. * gdb.dwarf2/pr10770.c: New file. * gdb.dwarf2/Makefile.in (EXECUTABLES): Add pr10770. --- gdb/testsuite/gdb.dwarf2/pr10770.exp | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 gdb/testsuite/gdb.dwarf2/pr10770.exp (limited to 'gdb/testsuite/gdb.dwarf2/pr10770.exp') diff --git a/gdb/testsuite/gdb.dwarf2/pr10770.exp b/gdb/testsuite/gdb.dwarf2/pr10770.exp new file mode 100644 index 0000000..329ace5 --- /dev/null +++ b/gdb/testsuite/gdb.dwarf2/pr10770.exp @@ -0,0 +1,44 @@ +# Copyright 2010 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 . + +# Test DW_OP_call_frame_cfa. + +set testfile "pr10770" +set srcfile ${testfile}.c + +if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}]} { + return 0 +} + +# This test can only be run on targets which use GCC. +get_compiler_info ${testfile} +if {![test_compiler_info "gcc-*"]} { + return 0 +} + +if {![runto_main]} { + return -1 +} + +# This test also requires DWARF 2. +get_debug_format +if {![test_debug_format "DWARF 2"]} { + return -1 +} + +gdb_test "break force_unwind" "Breakpoint .*" "set breakpoint for pr10770" +gdb_test "cont" "Breakpoint ., force_unwind .*" +# If we have the bug, this will hang. +gdb_test "frame 2" "#2 .* callme .*" -- cgit v1.1