diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2002-12-01 12:16:21 +0000 |
---|---|---|
committer | Stephane Carrez <stcarrez@nerim.fr> | 2002-12-01 12:16:21 +0000 |
commit | 8d49f1c93ead518e5066591da0da4ba5028c228f (patch) | |
tree | 8a83171de86390efe4bf8f7a95756b858121bd64 /include | |
parent | 8ecc6504da72ed788efbc97e1ce167bced692580 (diff) | |
download | cygnal-8d49f1c93ead518e5066591da0da4ba5028c228f.tar.gz cygnal-8d49f1c93ead518e5066591da0da4ba5028c228f.tar.bz2 cygnal-8d49f1c93ead518e5066591da0da4ba5028c228f.zip |
* 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.
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/ChangeLog | 6 | ||||
-rw-r--r-- | include/elf/m68hc11.h | 18 |
2 files changed, 24 insertions, 0 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index f3e7e62e7..bba6fd56f 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,9 @@ +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. + 2002-11-30 Alan Modra <amodra@bigpond.net.au> * mmix.h: Replace boolean with bfd_boolean. diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h index c4ef37d97..1902f7fa6 100644 --- a/include/elf/m68hc11.h +++ b/include/elf/m68hc11.h @@ -64,6 +64,24 @@ END_RELOC_NUMBERS (R_M68HC11_max) /* Uses 68HC12 memory banks. */ #define E_M68HC12_BANKS 0x000000004 +#define EF_M68HC11_MACH_MASK 0xF0 +#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */ +#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */ +#define EF_M68HCS12_MACH 0x20 /* 68HCS12 microcontroller. */ +#define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK) + +/* True if we can merge machines. A generic HC12 can work on any proc + but once we have specific code, merge is not possible. */ +#define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \ + ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \ + || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC)) + +#define EF_M68HC11_MERGE_MACH(mach1, mach2) \ + (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \ + || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \ + EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1)) + /* Special values for the st_other field in the symbol table. These are used for 68HC12 to identify far functions (must be called with |