1# Copyright 2003, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. 2 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. 7# 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. 12# 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/>. 15 16# Test for PR gdb/1056. 17# 2003-10-18 Michael Chastain <mec@shout.net> 18 19if $tracelevel then { 20 strace $tracelevel 21} 22 23# test SIGFPE (such as division by 0) inside gdb itself 24 25 26gdb_start 27 28# When SIGFPE happens, the operating system may restart the 29# offending instruction after the signal handler returns, 30# rather than proceeding to the next instruction. This happens 31# on i686-pc-linux-gnu with a linux kernel. If gdb has a naive 32# signal handler that just returns, then it will restart the 33# broken instruction and gdb gets an endless stream of SIGFPE's 34# and makes no progress. 35# 36# On a broken gdb this test will just time out. 37 38gdb_test_multiple "print 1/0" "" { 39 -re ".*$gdb_prompt $" { 40 pass "print 1/0" 41 } 42 timeout { 43 kfail "gdb/1056" "print 1/0" 44 } 45} 46gdb_test "print 1U/0" ".*Division by zero.*" "Test unsigned division by zero" 47 48