diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi index cb568d6edfd..aecf3a08718 100644 --- a/gas/doc/internals.texi +++ b/gas/doc/internals.texi @@ -1824,9 +1824,11 @@ opcode field from the relaxable frag. It is not guaranteed to be the same frag. If you need to emit fixups for the opcode field from inspection of the relaxable frag, then you need to generate a common frag for both the basic opcode and relaxable fields, or you need to provide the frag for the opcode to -pass to @code{fix_new}. The latter can be done for example by defining -@code{TC_FRAG_TYPE} to include a pointer to it and defining @code{TC_FRAG_INIT} -to set the pointer. +pass to @code{fix_new}. The latter can be done by passing a pointer to the +opcode in the call to @code{frag_var} or @code{frag_variant}, and accessing +it via @code{fr_opcode}. See the @file{tc-vax.c} and @file{tc-m68k.c} for +examples. It is also possible for @code{TC_FRAG_TYPE} to include a pointer to +the opcode and defining @code{TC_FRAG_INIT} to set the pointer. Sometimes @code{fr_var} is increased instead, and @code{frag_wane} is not called. I'm not sure, but I think this is to keep @code{fr_fix} referring to