/[gcl]/gcl/binutils/include/elf/m68hc11.h
ViewVC logotype

Diff of /gcl/binutils/include/elf/m68hc11.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by camm, Fri Aug 9 05:36:45 2002 UTC revision 1.2 by camm, Fri Sep 9 23:32:34 2005 UTC
# Line 1  Line 1 
1  /* m68hc11 & m68hc12 ELF support for BFD.  /* m68hc11 & m68hc12 ELF support for BFD.
2     Copyright 1999, 2000 Free Software Foundation, Inc.     Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3    
4     This file is part of BFD, the Binary File Descriptor library.     This file is part of BFD, the Binary File Descriptor library.
5    
# Line 37  START_RELOC_NUMBERS (elf_m68hc11_reloc_t Line 37  START_RELOC_NUMBERS (elf_m68hc11_reloc_t
37       /* These are GNU extensions to enable C++ vtable garbage collection.  */       /* These are GNU extensions to enable C++ vtable garbage collection.  */
38    RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9)    RELOC_NUMBER (R_M68HC11_GNU_VTINHERIT, 9)
39    RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10)    RELOC_NUMBER (R_M68HC11_GNU_VTENTRY, 10)
40    
41      RELOC_NUMBER (R_M68HC11_24, 11)
42      RELOC_NUMBER (R_M68HC11_LO16, 12)
43      RELOC_NUMBER (R_M68HC11_PAGE, 13)
44    
45         /* GNU extension for linker relaxation.
46            Mark beginning of a jump instruction (any form).  */
47      RELOC_NUMBER (R_M68HC11_RL_JUMP, 20)
48    
49         /* Mark beginning of Gcc relaxation group instruction.  */
50      RELOC_NUMBER (R_M68HC11_RL_GROUP, 21)
51  END_RELOC_NUMBERS (R_M68HC11_max)  END_RELOC_NUMBERS (R_M68HC11_max)
52    
53    /* Processor specific flags for the ELF header e_flags field.  */
54    
55    /* ABI identification.  */
56    #define EF_M68HC11_ABI  0x00000000F
57    
58    /* Integers are 32-bit long.  */
59    #define E_M68HC11_I32   0x000000001
60    
61    /* Doubles are 64-bit long.  */
62    #define E_M68HC11_F64   0x000000002
63    
64    /* Uses 68HC12 memory banks.  */
65    #define E_M68HC12_BANKS 0x000000004
66    
67    #define EF_M68HC11_MACH_MASK 0xF0
68    #define EF_M68HC11_GENERIC   0x00 /* Generic 68HC12/backward compatibility.  */
69    #define EF_M68HC12_MACH      0x10 /* 68HC12 microcontroller.  */
70    #define EF_M68HCS12_MACH     0x20 /* 68HCS12 microcontroller.  */
71    #define EF_M68HC11_MACH(mach) ((mach) & EF_M68HC11_MACH_MASK)
72    
73    /* True if we can merge machines.  A generic HC12 can work on any proc
74       but once we have specific code, merge is not possible.  */
75    #define EF_M68HC11_CAN_MERGE_MACH(mach1, mach2) \
76      ((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \
77       || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC) \
78       || (EF_M68HC11_MACH (mach2) == EF_M68HC11_GENERIC))
79    
80    #define EF_M68HC11_MERGE_MACH(mach1, mach2) \
81      (((EF_M68HC11_MACH (mach1) == EF_M68HC11_MACH (mach2)) \
82        || (EF_M68HC11_MACH (mach1) == EF_M68HC11_GENERIC)) ? \
83          EF_M68HC11_MACH (mach2) : EF_M68HC11_MACH (mach1))
84    
85    
86    /* Special values for the st_other field in the symbol table.  These
87       are used for 68HC12 to identify far functions (must be called with
88       'call' and returns with 'rtc').  */
89    #define STO_M68HC12_FAR 0x80
90    
91    /* Identify interrupt handlers.  This is used by the debugger to
92       correctly compute the stack frame.  */
93    #define STO_M68HC12_INTERRUPT 0x40
94        
95  #endif  #endif

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26