diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-01-04 22:37:49 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-01-04 22:37:49 +0000 |
commit | 1e6982353631fce67c8b11e8f286395265caac49 (patch) | |
tree | cce6f7cc76d875f22e64ee18cfca434724aa04ed /gdb/doc | |
parent | 46ca2cc2aa172416b15c91bf0751f03fd896ac59 (diff) | |
download | gdb-1e6982353631fce67c8b11e8f286395265caac49.zip gdb-1e6982353631fce67c8b11e8f286395265caac49.tar.gz gdb-1e6982353631fce67c8b11e8f286395265caac49.tar.bz2 |
gdb/
* buildsym.h (processing_hp_compilation): Remove obsolete variable.
* gdbarch.sh Remove include of "value.h" in gdbarch.h.
(COERCE_FLOAT_TO_DOUBLE): Remove.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* Makefile.in: Remove value_h from gdbarch_h.
* valops.c (coerce_float_to_double): New variable.
(default_coerce_float_to_double): Remove.
(standard_coerce_float_to_double): Remove.
(value_arg_coerce): Use coerce_float_to_double.
(_initialize_valops): Add "set coerce-float-to-double".
* value.h (default_coerce_float_to_double): Remove prototype.
(standard_coerce_float_to_double): Remove prototype.
* hpread.c (hpread_process_one_debug_symbol): Mark C++ functions as
prototyped.
* mdebugread.c (parse_symbol): Likewise.
* stabsread.c (define_symbol): Mark all functions as prototyped.
* hppa-tdep.c (hppa_coerce_float_to_double): Remove.
* alpha-tdep.c (alpha_gdbarch_init): Remove call to
set_gdbarch_coerce_float_to_double.
* arm-tdep.c (arm_gdbarch_init): Likewise.
* frv-tdep.c (frv_gdbarch_init): Likewise.
* h8300-tdep.c (h8300_gdbarch_init): Likewise (commented out).
* i386-sol2-tdep.c (i386_sol2_init_abi): Likewise.
* mips-tdep.c (mips_gdbarch_init): Likewise.
(mips_coerce_float_to_double): Remove.
* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
(rs6000_coerce_float_to_double): Remove.
* s390-tdep.c (s390_gdbarch_init): Likewise.
* sh-tdep.c (sh_gdbarch_init): Likewise.
(sh_coerce_float_to_double): Remove.
* sparc-tdep.c (sparc_gdbarch_init): Likewise.
(sparc_coerce_float_to_double): Remove.
* v850-tdep.c (v850_gdbarch_init): Likewise.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
* config/m32r/tm-m32r.h (COERCE_FLOAT_TO_DOUBLE): Remove.
* config/pa/tm-hppa.h: (COERCE_FLOAT_TO_DOUBLE): Remove.
(hppa_coerce_float_to_double): Remove prototype.
* config/sparc/tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Remove.
doc/
* gdb.texinfo (Controlling GDB): Add ABI section. Document
"set coerce-float-to-double".
* gdbint.texinfo (COERCE_FLOAT_TO_DOUBLE): Remove documentation.
testsuite/
* gdb.base/callfuncs.exp: Don't XFAIL unprototyped functions for
stabs.
* gdb.base/completion.exp: Allow marker1(void) as well as marker1().
* gdb.base/whatis.exp: Always allow (void) after function names.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 42 | ||||
-rw-r--r-- | gdb/doc/gdbint.texinfo | 50 |
3 files changed, 47 insertions, 51 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 0975876c..c7e26c7 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,9 @@ +2003-01-04 Daniel Jacobowitz <drow@mvista.com> + + * gdb.texinfo (Controlling GDB): Add ABI section. Document + "set coerce-float-to-double". + * gdbint.texinfo (COERCE_FLOAT_TO_DOUBLE): Remove documentation. + 2003-01-02 Andrew Cagney <ac131313@redhat.com> * stabs.texinfo: Remove obsolete text. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index f4607b2..af42b00 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -1,6 +1,6 @@ \input texinfo @c -*-texinfo-*- @c Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, -@c 1999, 2000, 2001, 2002 +@c 1999, 2000, 2001, 2002, 2003 @c Free Software Foundation, Inc. @c @c %**start of header @@ -54,7 +54,7 @@ of @cite{Debugging with @value{GDBN}: the @sc{gnu} Source-Level Debugger} for @value{GDBN} Version @value{GDBVN}. Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,@* - 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -87,7 +87,7 @@ development.'' @vskip 0pt plus 1filll Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, -1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +1996, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. @sp 2 Published by the Free Software Foundation @* 59 Temple Place - Suite 330, @* @@ -118,7 +118,7 @@ This file describes @value{GDBN}, the @sc{gnu} symbolic debugger. This is the @value{EDITION} Edition, @value{DATE}, for @value{GDBN} Version @value{GDBVN}. -Copyright (C) 1988-2002 Free Software Foundation, Inc. +Copyright (C) 1988-2003 Free Software Foundation, Inc. @menu * Summary:: Summary of @value{GDBN} @@ -12256,6 +12256,7 @@ described here. * History:: Command history * Screen Size:: Screen size * Numbers:: Numbers +* ABI:: Configuring the current ABI * Messages/Warnings:: Optional warnings and messages * Debugging Output:: Optional messages about internal happenings @end menu @@ -12502,6 +12503,39 @@ Display the current default base for numeric input. Display the current default base for numeric display. @end table +@node ABI +@section Configuring the current ABI + +@value{GDBN} can determine the @dfn{ABI} (Application Binary Interface) of your +application automatically. However, sometimes you need to override its +conclusions. Use these commands to manage @value{GDBN}'s view of the +current ABI. + +@cindex float promotion +@kindex set coerce-float-to-double + +Generally, the way that an argument of type @code{float} is passed to a +function depends on whether the function is prototyped. For a prototyped +(i.e.@: ANSI/ISO style) function, @code{float} arguments are passed unchanged, +according to the architecture's convention for @code{float}. For unprototyped +(i.e.@: K&R style) functions, @code{float} arguments are first promoted to type +@code{double} and then passed. + +Unfortunately, some forms of debug information do not reliably indicate whether +a function is prototyped. If @value{GDBN} calls a function that is not marked +as prototyped, it consults @kbd{set coerce-float-to-double}. + +@table @code +@item set coerce-float-to-double +@itemx set coerce-float-to-double on +Arguments of type @code{float} will be promoted to @code{double} when passed +to an unprototyped function. This is the default setting. + +@item set coerce-float-to-double off +Arguments of type @code{float} will be passed directly to unprototyped +functions. +@end table + @node Messages/Warnings @section Optional warnings and messages diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index c8053c0..9ce6ecb 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -8,7 +8,7 @@ @ifinfo This file documents the internals of the GNU debugger @value{GDBN}. -Copyright 1990,1991,1992,1993,1994,1996,1998,1999,2000,2001,2002 +Copyright 1990,1991,1992,1993,1994,1996,1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc. Contributed by Cygnus Solutions. Written by John Gilmore. Second Edition by Stan Shebs. @@ -50,8 +50,8 @@ Software Foundation raise funds for GNU development.'' @end tex @vskip 0pt plus 1filll -Copyright @copyright{} 1990,1991,1992,1993,1994,1996,1998,1999,2000,2001, 2002 - Free Software Foundation, Inc. +Copyright @copyright{} 1990,1991,1992,1993,1994,1996,1998,1999,2000,2001, + 2002, 2003 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -3144,50 +3144,6 @@ and to cancel any deferred stores. Currently only implemented correctly for native Sparc configurations? -@item COERCE_FLOAT_TO_DOUBLE (@var{formal}, @var{actual}) -@findex COERCE_FLOAT_TO_DOUBLE -@cindex promotion to @code{double} -@cindex @code{float} arguments -@cindex prototyped functions, passing arguments to -@cindex passing arguments to prototyped functions -Return non-zero if GDB should promote @code{float} values to -@code{double} when calling a non-prototyped function. The argument -@var{actual} is the type of the value we want to pass to the function. -The argument @var{formal} is the type of this argument, as it appears in -the function's definition. Note that @var{formal} may be zero if we -have no debugging information for the function, or if we're passing more -arguments than are officially declared (for example, varargs). This -macro is never invoked if the function definitely has a prototype. - -How you should pass arguments to a function depends on whether it was -defined in K&R style or prototype style. If you define a function using -the K&R syntax that takes a @code{float} argument, then callers must -pass that argument as a @code{double}. If you define the function using -the prototype syntax, then you must pass the argument as a @code{float}, -with no promotion. - -Unfortunately, on certain older platforms, the debug info doesn't -indicate reliably how each function was defined. A function type's -@code{TYPE_FLAG_PROTOTYPED} flag may be unset, even if the function was -defined in prototype style. When calling a function whose -@code{TYPE_FLAG_PROTOTYPED} flag is unset, GDB consults the -@code{COERCE_FLOAT_TO_DOUBLE} macro to decide what to do. - -@findex standard_coerce_float_to_double -For modern targets, it is proper to assume that, if the prototype flag -is unset, that can be trusted: @code{float} arguments should be promoted -to @code{double}. You should use the function -@code{standard_coerce_float_to_double} to get this behavior. - -@findex default_coerce_float_to_double -For some older targets, if the prototype flag is unset, that doesn't -tell us anything. So we guess that, if we don't have a type for the -formal parameter (@i{i.e.}, the first argument to -@code{COERCE_FLOAT_TO_DOUBLE} is null), then we should promote it; -otherwise, we should leave it alone. The function -@code{default_coerce_float_to_double} provides this behavior; it is the -default value, for compatibility with older configurations. - @item int CONVERT_REGISTER_P(@var{regnum}) @findex CONVERT_REGISTER_P Return non-zero if register @var{regnum} can represent data values in a |