[PATCH]: bfd support for 68HCS12
Stephane Carrez
stcarrez@nerim.fr
Sun Dec 1 04:18:00 GMT 2002
Hi!
The new motorola microcontroller 68HCS12 is similar to the 68HC12. It is 99.9% binary
compatible except on the two instructions movw/movb when we use PC-relative addressing
modes. The 68HC12 needs a complex/strange offset correction (+1,-1 depending on
the src/dst modes; due to some buggy proc. internals). The new 68HCS12 does not need that
(indeed they fixed/improve their silicium).
This patch adds the support for HCS12 to basically identify it and make sure we don't
merge HC12 code with HCS12. The bfd_mach_m6812_default corresponds to the prior-to-this-patch value
and it is accepted to merge with either HC12 or HCS12 (because it's supposed not to contain
any movb/movw; gas will ensure that if necessary).
Committed.
Stephane
bfd/ChangeLog
2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
* bfd-in2.h (bfd_mach_m6812): Rebuild.
* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
bfd_mach_m6812s): Declare.
* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
(_bfd_m68hc12_elf_set_private_flags): Call it.
(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
report microcontroller incompatibilities (HC12 vs HCS12).
(elf_backend_object_p): Update.
include/elf/ChangeLog
2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
* m68hc11.h (EF_M68HC12_MACH, EF_M68HCS12_MACH): Define.
(EF_M68HC11_MACH_MASK, EF_M68HC11_MACH): Define.
(EF_M68HC11_MERGE_MACH, EF_M68HC11_CAN_MERGE_MACH): Define.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: binutils.diffs
URL: <https://sourceware.org/pipermail/binutils/attachments/20021201/4c9741b8/attachment.ksh>
More information about the Binutils
mailing list