diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-04-23 14:51:03 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-04-23 14:51:03 +0000 |
commit | a2a2eac845d366f089013009176b6f03da46bea5 (patch) | |
tree | 8f7d88c2bcf4c1aecda95d6665d2e9c72ee9faaf /gdb | |
parent | 7586127f7e05c0c4d375e34b7508bbe0cbc166de (diff) | |
download | gdb-a2a2eac845d366f089013009176b6f03da46bea5.zip gdb-a2a2eac845d366f089013009176b6f03da46bea5.tar.gz gdb-a2a2eac845d366f089013009176b6f03da46bea5.tar.bz2 |
* stabs.texinfo (Parameters): Keep trying to get this right.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/stabs.texinfo | 49 |
2 files changed, 26 insertions, 27 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index a1f6e4f..0c518ef 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,6 +1,6 @@ -Thu Apr 22 16:37:33 1993 K. Richard Pixley (rich@rtl.cygnus.com) +Fri Apr 23 07:30:01 1993 Jim Kingdon (kingdon@cygnus.com) - * gdbint.texinfo: document FRAME_SAVED_PC and FRAME_CHAIN. + * stabs.texinfo (Parameters): Keep trying to get this right. Wed Apr 21 15:18:47 1993 Jim Kingdon (kingdon@cygnus.com) diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 56af513..93cd4c4 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -1006,6 +1006,10 @@ same thing, the difference is that @samp{P} is a GNU invention and handle either one. Symbol type @samp{C_RPSYM} is used with @samp{R} and @samp{N_RSYM} is used with @samp{P}. +There is at least one case where GCC uses a @samp{p}/@samp{r} pair +rather than @samp{P}; this is where the argument is passed in the +argument list and then loaded into a register. + There is another case similar to an argument in a register, which is an argument which is actually stored as a local variable. Sometimes this happens when the argument was passed in a register and then the compiler @@ -1023,6 +1027,23 @@ 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). +The following are said to go with N_PSYM: + +@example +"name" -> "param_name:#type" + # -> p (value parameter) + -> i (value parameter by reference, indirect access) + -> v (variable parameter by reference) + -> C (read-only parameter, conformant array bound) + -> x (conformant array value parameter) + -> pP (<<??>>) + -> pF (<<??>>) + -> X (function result variable) + -> b (based variable) + +value -> offset from the argument pointer (positive). +@end example + As a simple example, the code @example @@ -1041,8 +1062,8 @@ produces the stabs @end example The type definition of argv is interesting because it contains several -type definitions. Type 21 is ptr to type 2 (char) and argv (type 20) is -ptr to type 21. +type definitions. Type 21 is pointer to type 2 (char) and argv (type 20) is +pointer to type 21. @node Aggregate Types @chapter Aggregate Types @@ -2869,29 +2890,7 @@ of the compilation. @node N_PSYM @section 160 - 0xa0 - N_PSYM -Parameter variable - -@display -stabs. "name", N_PSYM, NIL, NIL, value -@end display - -@example -"name" -> "param_name:#type" - # -> p (value parameter) - -> i (value parameter by reference, indirect access) - -> v (variable parameter by reference) - -> C (read-only parameter, conformant array bound) - -> x (conformant array value parameter) - -> pP (<<??>>) - -> pF (<<??>>) - -> X (function result variable) - -> b (based variable) - -value -> offset from the argument pointer (positive). -@end example - -On most machines the argument pointer is the same as the frame -pointer. +Parameter variable. @xref{Parameters}. @node N_EINCL @section 162 - 0xa2 - N_EINCL |