Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5191 | Rev 6324 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* RL78 ELF support for BFD. |
1 | /* RL78 ELF support for BFD. |
2 | Copyright (C) 2008-2013 Free Software Foundation, Inc. |
2 | Copyright (C) 2008-2015 Free Software Foundation, Inc. |
Line 3... | Line 3... | ||
3 | 3 | ||
Line 4... | Line 4... | ||
4 | This file is part of BFD, the Binary File Descriptor library. |
4 | This file is part of BFD, the Binary File Descriptor library. |
5 | 5 | ||
Line 104... | Line 104... | ||
104 | #define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK) |
104 | #define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK) |
Line 105... | Line 105... | ||
105 | 105 | ||
106 | /* Values for the e_flags field in the ELF header. */ |
106 | /* Values for the e_flags field in the ELF header. */ |
107 | #define E_FLAG_RL78_64BIT_DOUBLES (1 << 0) |
107 | #define E_FLAG_RL78_64BIT_DOUBLES (1 << 0) |
- | 108 | #define E_FLAG_RL78_DSP (1 << 1) /* Defined in the RL78 CPU Object file specification, but not explained. */ |
|
- | 109 | #define E_FLAG_RL78_CPU_MASK 0x0c |
|
108 | #define E_FLAG_RL78_DSP (1 << 1) /* Defined in the RL78 CPU Object file specification, but not explained. */ |
110 | #define E_FLAG_RL78_ANY_CPU 0x00 /* CPU not specified. Assume no CPU specific code usage. */ |
- | 111 | #define E_FLAG_RL78_G10 0x04 /* CPU is missing register banks 1-3, so uses different ABI. */ |
|
- | 112 | #define E_FLAG_RL78_G13 0x08 /* CPU uses a peripheral for multiply/divide. */ |
|
Line 109... | Line 113... | ||
109 | #define E_FLAG_RL78_G10 (1 << 2) /* CPU is missing register banks 1-3, so uses different ABI. */ |
113 | #define E_FLAG_RL78_G14 0x0c /* CPU has multiply/divide instructions. */ |
- | 114 | ||
110 | 115 | /* These define the addend field of R_RL78_RH_RELAX relocations. */ |
|
111 | /* These define the addend field of R_RL78_RH_RELAX relocations. */ |
116 | #define RL78_RELAXA_MASK 0x000000f0 /* Mask for relax types */ |
112 | #define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be decoded). */ |
117 | #define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be decoded). */ |
113 | #define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity */ |
118 | #define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity */ |
114 | #define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */ |
119 | #define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocations. */ |