-Because this is kind of ugly, some compilers use symbol descriptor @samp{P}
-or @samp{R} to indicate an argument which is in a register. The symbol
-value is the register number. @samp{P} and @samp{R} mean the same
-thing, the difference is that @samp{P} is a GNU invention and @samp{R}
-is an IBM (xcoff) invention. As of version 4.9, GDB should handle
-either one.
-
-There is no symbol descriptor analogous to @samp{P} for local variables.
-Some compilers are said to use the pair of symbols approach described
-above, but I don't know which ones. On the intel 960, the type of the
-variable indicates whether a @samp{p} symbol's value is an the argument
-list offset or a local variable offset.
+Because this is kind of ugly, some compilers use symbol descriptor
+@samp{P} or @samp{R} to indicate an argument which is in a register.
+The symbol value is the register number. @samp{P} and @samp{R} mean the
+same thing, the difference is that @samp{P} is a GNU invention and
+@samp{R} is an IBM (xcoff) invention. As of version 4.9, GDB should
+handle either one. Symbol type @samp{C_RPSYM} is used with @samp{R} and
+@samp{N_RSYM} is used with @samp{P}.
+
+There is another case similar to an argument in a register, which is an
+argument which is actually stored as a local variable. The only case I
+know of where this happens is when the argument was passed in a register
+and then the compiler stores it as a local variable. In this case the
+compiler would probably be much better off claiming that it's in a
+register, but at least in one case this isn't done. Some compilers are
+said to use the pair of symbols approach described above ("arg:p"
+followed by "arg:"), but I don't which if any. GCC, at least on the
+960, uses a @samp{p} symbol descriptor for this case but uses
+@samp{N_LSYM} instead of @samp{N_PSYM} to distinguish it. In this case
+the value of the symbol is an offset relative to the local variables for
+that function, not relative to the arguments.