This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
ARM float changes
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com, Corinna Vinschen <vinschen at redhat dot com>
- Date: Fri, 8 Feb 2002 11:41:32 -0500
- Subject: ARM float changes
(Sorry for breaking threading, I have a trigger happy delete finger...)
Have you tested this change on stabs debugging? If you were testing with
GCC head and did not do so explicitly, GCC now defaults to DWARF-2 for a
substantial number of targets.
I ask because your change is probably wrong for stabs. Stabs _never_ sets
TYPE_FLAG_PROTOTYPED at present, and so this may break the calling of
prototyped functions taking float using stabs debugging.
default_coerce_float_to_double appears to have the opposite problem and
break DWARF-2.
For instance, my results on i386-linux, callfuncs.exp:
standard coercion default coercion
================= ================
GCC 2.95
stabs+ 1 XPASS, 1 FAIL, 1 XFAIL 1 FAIL, 2 XPASS
dwarf2 1 FAIL 5 FAIL
GCC 3.0.4pre
stabs+ 1 XPASS, 1 XFAIL 2 XPASS
dwarf2 0 FAILS 4 FAIL
What particularly do these mean?
- 1 FAIL for all the 2.95 cases is unrelated, a backtrace/prologue
problem.
- The default coercion, which GDB uses on this target, promotes
floats on DWARF-2. Incorrectly.
- The "standard" coercion promotes floats incorrectly on stabs, but in two
of the four cases we promote incorrectly for DWARF-2.
Simply disabling promotion is about equivalent to default coercion.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer