diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2002-08-13 13:02:25 +0000 |
---|---|---|
committer | Stephane Carrez <stcarrez@nerim.fr> | 2002-08-13 13:02:25 +0000 |
commit | 9b6947db55dce8345816d74e0f0204e0736cf47f (patch) | |
tree | 8cb867ed26cd938f3d78bbcdc466c5291125f640 | |
parent | b3a9676ba0da054d953b0f11a441702659ba1bfb (diff) | |
download | newlib-9b6947db55dce8345816d74e0f0204e0736cf47f.zip newlib-9b6947db55dce8345816d74e0f0204e0736cf47f.tar.gz newlib-9b6947db55dce8345816d74e0f0204e0736cf47f.tar.bz2 |
* m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64,
EF_M68HC11_ABI): Define for ABI specification.
(STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for
linker and debugger.
(R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs.
(R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker
relaxation.
-rw-r--r-- | include/elf/ChangeLog | 10 | ||||
-rw-r--r-- | include/elf/m68hc11.h | 37 |
2 files changed, 46 insertions, 1 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index e7b8b76..8b36620 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,13 @@ +2002-08-13 Stephane Carrez <stcarrez@nerim.fr> + + * m68hc11.h (E_M68HC12_BANKS, E_M68HC11_I32, E_M68HC11_F64, + EF_M68HC11_ABI): Define for ABI specification. + (STO_M68HC12_FAR, STO_M68HC12_INTERRUPT): Symbol flags for + linker and debugger. + (R_M68HC11_24, R_M68HC11_LO16, R_M68HC11_PAGE): New relocs. + (R_M68HC11_RL_JUMP, R_M68HC11_RL_GROUP): New reloc for linker + relaxation. + 2002-07-15 Denis Chertykov <denisc@overta.ru> Frank Ch. Eigler <fche@redhat.com> Ben Elliston <bje@redhat.com> diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h index 0f9546d..c4ef37d 100644 --- a/include/elf/m68hc11.h +++ b/include/elf/m68hc11.h @@ -1,5 +1,5 @@ /* m68hc11 & m68hc12 ELF support for BFD. - Copyright 1999, 2000 Free Software Foundation, Inc. + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -37,6 +37,41 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type) /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9) RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10) + + RELOC_NUMBER (R_M68HC11_24, 11) + RELOC_NUMBER (R_M68HC11_LO16, 12) + RELOC_NUMBER (R_M68HC11_PAGE, 13) + + /* GNU extension for linker relaxation. + Mark beginning of a jump instruction (any form). */ + RELOC_NUMBER (R_M68HC11_RL_JUMP, 20) + + /* Mark beginning of Gcc relaxation group instruction. */ + RELOC_NUMBER (R_M68HC11_RL_GROUP, 21) END_RELOC_NUMBERS (R_M68HC11_max) +/* Processor specific flags for the ELF header e_flags field. */ + +/* ABI identification. */ +#define EF_M68HC11_ABI 0x00000000F + +/* Integers are 32-bit long. */ +#define E_M68HC11_I32 0x000000001 + +/* Doubles are 64-bit long. */ +#define E_M68HC11_F64 0x000000002 + +/* Uses 68HC12 memory banks. */ +#define E_M68HC12_BANKS 0x000000004 + + +/* Special values for the st_other field in the symbol table. These + are used for 68HC12 to identify far functions (must be called with + 'call' and returns with 'rtc'). */ +#define STO_M68HC12_FAR 0x80 + +/* Identify interrupt handlers. This is used by the debugger to + correctly compute the stack frame. */ +#define STO_M68HC12_INTERRUPT 0x40 + #endif |