This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Multiarch tm_print_insn
Eli Zaretskii writes:
>
> On Wed, 5 Sep 2001, Elena Zannoni wrote:
>
> > How about this?
>
> Approved, with a few minor comments (see below).
>
> Thanks!
>
> > +debugged memory abd returns the length of the instruction, in bytes. If
> ^^^
> A typo.
OK
>
> > +a target doesn't define its own printing routine, it defaults to an
> > +accessor function for the global pointer @var{tm_print_insn}.
>
> Isn't tm_print_insn a name of a real variable in GDB sources? If so,
> it should have the @code markup; @var is for names of formal
> parameters and such likes: names that stand for something else, not
> for themselves.
>
Ok, thanks.
> > +usually points to a function in the @code{opcodes} library
> > +(@xref{,,opcodes}).
>
> Does opcodes have a manual? I cannot find it anywhere. If there is
> no docs for opcodes, I think we should remove the xref.
>
There is a section about opcodes in this same document.
> > @var{info} is a structure defined in @code{opcodes}
> > +used to pass information to the instruction decoding routine.
>
> Maybe we should at least tell what is the name of that structure, so
> that an interested reader could grep for it in opcodes' sources.
True will do.
How about this:
Index: gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.35
diff -u -p -r1.35 gdbint.texinfo
--- gdbint.texinfo 2001/08/15 14:47:53 1.35
+++ gdbint.texinfo 2001/09/05 18:57:42
@@ -3566,6 +3566,18 @@ If non-zero, the target has support for
watchpoints. @xref{Algorithms, watchpoints}, for more details and
other related macros.
+@item TARGET_PRINT_INSN (@var{addr}, @var{info})
+@findex TARGET_PRINT_INSN
+This is the function used by @value{GDBN} to print an assembly
+instruction. It prints the instruction at address @var{addr} in
+debugged memory and returns the length of the instruction, in bytes. If
+a target doesn't define its own printing routine, it defaults to an
+accessor function for the global pointer @code{tm_print_insn}. This
+usually points to a function in the @code{opcodes} library (@ref{Support
+Libraries, ,Opcodes}). @var{info} is a structure (of type
+@code{disassemble_info}) defined in @file{include/dis-asm.h} used to
+pass information to the instruction decoding routine.
+
@item USE_STRUCT_CONVENTION (@var{gcc_p}, @var{type})
@findex USE_STRUCT_CONVENTION
If defined, this must be an expression that is nonzero if a value of the