This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Remove xfail in return.exp for i386 targets


This test has been an XPASS ever since I added support for returning
FP numbers to i386-tdep.c.  Since all supported i386 targets now use
that file, this patch is obviously the right thing to do.

Comitted.

Mark


Index: testsuite/ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* gdb.base/return.exp: Remove i*86-*-* from list of xfail'ed
	targets.  The problem should be fixed now.

Index: testsuite/gdb.base/return.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/return.exp,v
retrieving revision 1.2
diff -u -p -r1.2 return.exp
--- testsuite/gdb.base/return.exp 16 Jul 2001 18:49:43 -0000 1.2
+++ testsuite/gdb.base/return.exp 17 Aug 2002 10:18:45 -0000
@@ -91,19 +91,6 @@ proc return_tests { } {
     setup_xfail "m6811-*-*"
     gdb_test "next" "printf.*" "next over call to func3"
 
-    # This test is going to fail on all i*86 systems using an i*87.
-    # When returning a floating point value from a function, all known
-    # compilers do this via a `fldl' instruction, which pushes the floating
-    # value on the i387 stack. This causes two problems:
-    # a) Most i*86 targets do not store (or cannot store, see comment in
-    #    in i386v-nat.c:i386_register_u_addr) the floating point registers
-    #    to the target.
-    # b) gdb would have to figure out if the `fldl' instruction (or variants
-    #    of it) has already been executed. If not, it would have to simulate
-    #    a push instruction, as it is not enough to write the register,
-    #    the floating point `stack pointer' has to be updated too.
-    #    Do not expect this to get fixed anytime soon.
-
     # This test also fails for sparc Solaris 2.3 & 2.4, but passes under 2.5
     # At the time the `next' is issued, the floating point unit for the
     # process is not yet initialized, and the storing of the floating
@@ -113,8 +100,8 @@ proc return_tests { } {
     # process start, making this test pass, it will be for a version that
     # is not xfailed.
 
-    setup_xfail "i*86-*-*" "sparc-*-solaris2.3*" "sparc-*-solaris2.4*" "m6811-*-*"
-    gdb_test "p tmp3" ".* = 5.*" "correct value returned double test (known problem with i*86 and sparc solaris"
+    setup_xfail "sparc-*-solaris2.3*" "sparc-*-solaris2.4*" "m6811-*-*"
+    gdb_test "p tmp3" ".* = 5.*" "correct value returned double test (known problem with sparc solaris)"
 }
 
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]