From 542751c41f6ae5d8ae8a3b4c5107d6f19ddad5c3 Mon Sep 17 00:00:00 2001 From: Stephane Carrez Date: Sun, 1 Dec 2002 12:16:21 +0000 Subject: [PATCH] * 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. --- include/elf/ChangeLog | 6 ++++++ include/elf/m68hc11.h | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index f3e7e62e77e..bba6fd56f74 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,9 @@ +2002-12-01 Stephane Carrez + + * 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 * mmix.h: Replace boolean with bfd_boolean. diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h index c4ef37d979e..1902f7fa678 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 -- 2.30.2