Fix Bug savannah/1825:
authorStephane Carrez <stcarrez@nerim.fr>
Sun, 1 Dec 2002 11:02:10 +0000 (11:02 +0000)
committerStephane Carrez <stcarrez@nerim.fr>
Sun, 1 Dec 2002 11:02:10 +0000 (11:02 +0000)
commitc9e03e8be9f3e216d282f5ad02c0b8c8d15405ed
tree28be5cc9281b3d43fd3ba50666b23aea59291c24
parent2f9046641f748e9a27c97759570dcb983cbab4e9
Fix Bug savannah/1825:
* config/tc-m68hc11.h (md_relax_frag): Define to support relaxations
that are not pc-relative.
(m68hc11_relax_frag): Declare.

* config/tc-m68hc11.c (build_indexed_byte): Use a frag_var to handle
the offsetable indexed addressing modes (n,r).
(build_insn): Cleanup some locals.
(m68hc11_relax_frag): New function imported from tc-cris.c to handle
relaxation of difference between two symbols of same section.
(md_convert_frag): For INDEXED_OFFSET relaxs, use the displacement
only when this is a PC-relative operand and the offset is not absolute.
(md_estimate_size_before_relax): Convert the INDEXED_OFFSET,UNDEF frag
to INDEXED_OFFSET,STATE_BITS5 when the symbol is absolute; this will
be handled by m68hc11_relax_frag.
gas/ChangeLog
gas/config/tc-m68hc11.c
gas/config/tc-m68hc11.h