From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26755 invoked by alias); 1 Jul 2003 21:55:43 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26744 invoked from network); 1 Jul 2003 21:55:42 -0000 Received: from unknown (HELO crack.them.org) (146.82.138.56) by sources.redhat.com with SMTP; 1 Jul 2003 21:55:42 -0000 Received: from dsl093-172-017.pit1.dsl.speakeasy.net ([66.93.172.17] helo=nevyn.them.org ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 19XT7A-0000Ke-00 for ; Tue, 01 Jul 2003 16:56:40 -0500 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 19XT6B-0001a4-00 for ; Tue, 01 Jul 2003 17:55:39 -0400 Date: Tue, 01 Jul 2003 21:55:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sources.redhat.com Subject: RFC: Some more store.exp failures - tweak the test Message-ID: <20030701215538.GA5542@nevyn.them.org> Mail-Followup-To: gdb-patches@sources.redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.1i X-SW-Source: 2003-07/txt/msg00019.txt.bz2 This patch fixes the store.exp failures for ARM. Two changes: - Change char to signed char, because some patterns match -1. If anyone prefers changing the patterns to match 255 would work too. - Change "return l" to "return l + r". "up; print r" doesn't work if "r" is not live across the function call; even without optimization GCC will re-use the register. Then we lose. I believe these changes don't impact the point of the test. If nobody disagrees with me, I'd like to commit this. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer 2003-07-01 Daniel Jacobowitz * gdb.base/store.c (wack_char): Make l and r signed characters. Return l + r to keep r live across the call. (wack_short, wack_int, wack_long, wack_longest, wack_float) (wack_double, wack_doublest): Return l + r to keep r live across the call. * gdb.base/store.exp: Accomodate store.c changes. Index: gdb/testsuite/gdb.base/store.c =================================================================== --- gdb.orig/testsuite/gdb.base/store.c 2003-06-14 18:10:47.000000000 -0400 +++ gdb/testsuite/gdb.base/store.c 2003-07-01 17:05:58.000000000 -0400 @@ -64,9 +64,9 @@ add_doublest (register doublest u, regis char wack_char (register char u, register char v) { - register char l = u, r = v; + register signed char l = u, r = v; l = add_char (l, r); - return l; + return l + r; } short @@ -74,7 +74,7 @@ wack_short (register short u, register s { register short l = u, r = v; l = add_short (l, r); - return l; + return l + r; } int @@ -82,7 +82,7 @@ wack_int (register int u, register int v { register int l = u, r = v; l = add_int (l, r); - return l; + return l + r; } long @@ -90,7 +90,7 @@ wack_long (register long u, register lon { register long l = u, r = v; l = add_long (l, r); - return l; + return l + r; } long @@ -98,7 +98,7 @@ wack_longest (register longest u, regist { register longest l = u, r = v; l = add_longest (l, r); - return l; + return l + r; } float @@ -106,7 +106,7 @@ wack_float (register float u, register f { register float l = u, r = v; l = add_float (l, r); - return l; + return l + r; } double @@ -114,7 +114,7 @@ wack_double (register double u, register { register double l = u, r = v; l = add_double (l, r); - return l; + return l + r; } doublest @@ -122,7 +122,7 @@ wack_doublest (register doublest u, regi { register doublest l = u, r = v; l = add_doublest (l, r); - return l; + return l + r; } /* */ Index: gdb/testsuite/gdb.base/store.exp =================================================================== --- gdb.orig/testsuite/gdb.base/store.exp 2003-06-14 18:10:47.000000000 -0400 +++ gdb/testsuite/gdb.base/store.exp 2003-07-01 17:06:52.000000000 -0400 @@ -57,13 +57,13 @@ if ![runto_main] then { proc check_set { t l r new add } { global gdb_prompt gdb_test "tbreak wack_${t}" - gdb_test "continue" "register ${t} l = u, r = v;" "continue to wack_${t}" + gdb_test "continue" "register (signed )?${t} l = u, r = v;" "continue to wack_${t}" gdb_test "next" "l = add_${t} .l, r.;" "next ${t}" gdb_test "print l" " = ${l}" "print old l - ${t}" gdb_test "print r" " = ${r}" "print old r - ${t}" gdb_test "set variable l = 4" gdb_test "print l" " = ${new}" "print new l - ${t}" - gdb_test "next" "return l;" + gdb_test "next" "return l \\+ r;" gdb_test "print l" " = ${add}" "print add - ${t}" }