Assembler Internal Docs: Describe handling of opcodes for relaxation a bit better.

This commit is contained in:
Thomas Koenig 2023-04-18 11:21:58 +01:00 committed by Nick Clifton
parent c2f60ac565
commit 01996a7a49
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2023-04-18 Thomas Koenig <tkoenig@netcologne.de>
* doc/internals.texi (Relaxing with a table): Describe handling of
opcodes for relaxation a bit better.
2023-04-13 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/cfi/cfi-arc-1.s: Use baseline instructions.

View File

@ -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