From 23aed4497c86decdbbaa2d025804429f9bc25308 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Tue, 18 May 1993 23:01:58 +0000 Subject: [PATCH] * stabs.texinfo (Parameters): Add "(sometimes)" when describing gcc2 behavior with promoted args. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/stabs.texinfo | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index efb523779aa..78bf3cd17a7 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +Tue May 18 17:59:18 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * stabs.texinfo (Parameters): Add "(sometimes)" when describing + gcc2 behavior with promoted args. + Fri May 14 21:35:29 1993 Roland H. Pesch (pesch@fowanton.cygnus.com) * gdb.texinfo: include readline appendices in info version of manual diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 195190c9a30..5656ea61dc3 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -1099,7 +1099,7 @@ handle either one. Symbol type @samp{C_RPSYM} is used with @samp{R} and AIX, according to the documentation, uses @samp{D} for a parameter passed in a floating point register. This strikes me as incredibly bogus---why doesn't it just use @samp{R} with a register number which -indicates that it's a floating point register. I haven't verified +indicates that it's a floating point register? I haven't verified whether the system actually does what the documentation indicates. There is at least one case where GCC uses a @samp{p}/@samp{r} pair @@ -1127,15 +1127,15 @@ stores it as a local variable. If possible, the compiler should claim that it's in a register, but this isn't always done. Some compilers use the pair of symbols approach described above ("arg:p" followed by "arg:"); this includes gcc1 (not gcc2) on the sparc when passing a small -structure and gcc2 when the argument type is float and it is passed as a -double and converted to float by the prologue (in the latter case the -type of the "arg:p" symbol is double and the type of the "arg:" symbol -is float). GCC, at least on the 960, uses a single @samp{p} symbol -descriptor for an argument which is stored as a local variable but uses -@samp{N_LSYM} instead of @samp{N_PSYM}. In this case the value of the -symbol is an offset relative to the local variables for that function, -not relative to the arguments (on some machines those are the same -thing, but not on all). +structure and gcc2 (sometimes) when the argument type is float and it is +passed as a double and converted to float by the prologue (in the latter +case the type of the "arg:p" symbol is double and the type of the "arg:" +symbol is float). GCC, at least on the 960, uses a single @samp{p} +symbol descriptor for an argument which is stored as a local variable +but uses @samp{N_LSYM} instead of @samp{N_PSYM}. In this case the value +of the symbol is an offset relative to the local variables for that +function, not relative to the arguments (on some machines those are the +same thing, but not on all). If the parameter is passed by reference (e.g. Pascal VAR parameters), then type symbol descriptor is @samp{v} if it is in the argument list, -- 2.30.2