OLD | NEW |
1 /* RL78 ELF support for BFD. | 1 /* RL78 ELF support for BFD. |
2 Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 Copyright (C) 2008-2013 Free Software Foundation, Inc. |
3 | 3 |
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 |
6 This program is free software; you can redistribute it and/or modify | 6 This program is free software; you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 3 of the License, or | 8 the Free Software Foundation; either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
11 This program is distributed in the hope that it will be useful, | 11 This program is distributed in the hope that it will be useful, |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 RELOC_NUMBER (R_RL78_OPromtop, 0x95) | 97 RELOC_NUMBER (R_RL78_OPromtop, 0x95) |
98 RELOC_NUMBER (R_RL78_OPramtop, 0x96) | 98 RELOC_NUMBER (R_RL78_OPramtop, 0x96) |
99 | 99 |
100 END_RELOC_NUMBERS (R_RL78_max) | 100 END_RELOC_NUMBERS (R_RL78_max) |
101 | 101 |
102 #define EF_RL78_CPU_RL78 0x00000079 /* FIXME: correct value? */ | 102 #define EF_RL78_CPU_RL78 0x00000079 /* FIXME: correct value? */ |
103 #define EF_RL78_CPU_MASK 0x0000007F /* specific cpu bits. */ | 103 #define EF_RL78_CPU_MASK 0x0000007F /* specific cpu bits. */ |
104 #define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK) | 104 #define EF_RL78_ALL_FLAGS (EF_RL78_CPU_MASK) |
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 Obje
ct file specification, but not explained. */ | 108 #define E_FLAG_RL78_DSP (1 << 1) /* Defined in the RL78 CPU Obje
ct file specification, but not explained. */ |
| 109 #define E_FLAG_RL78_G10 (1 << 2) /* CPU is missing register bank
s 1-3, so uses different ABI. */ |
109 | 110 |
110 /* These define the addend field of R_RL78_RH_RELAX relocations. */ | 111 /* These define the addend field of R_RL78_RH_RELAX relocations. */ |
111 #define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be d
ecoded). */ | 112 #define RL78_RELAXA_BRA 0x00000010 /* Any type of branch (must be d
ecoded). */ |
112 #define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity
*/ | 113 #define RL78_RELAXA_ADDR16 0x00000020 /* addr16->sfr/saddr opportunity
*/ |
113 #define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocati
ons. */ | 114 #define RL78_RELAXA_RNUM 0x0000000f /* Number of associated relocati
ons. */ |
114 /* These mark the place where alignment is requested, and the place where the fi
ller bytes end. */ | 115 /* These mark the place where alignment is requested, and the place where the fi
ller bytes end. */ |
115 #define RL78_RELAXA_ALIGN 0x10000000 /* Start alignment; the remainin
g bits are the alignment value. */ | 116 #define RL78_RELAXA_ALIGN 0x10000000 /* Start alignment; the remainin
g bits are the alignment value. */ |
116 #define RL78_RELAXA_ELIGN 0x20000000 /* End alignment; the remaining
bits are the alignment value. */ | 117 #define RL78_RELAXA_ELIGN 0x20000000 /* End alignment; the remaining
bits are the alignment value. */ |
117 #define RL78_RELAXA_ANUM 0x00ffffff /* Alignment amount, in bytes (i
.e. .balign). */ | 118 #define RL78_RELAXA_ANUM 0x00ffffff /* Alignment amount, in bytes (i
.e. .balign). */ |
118 | 119 |
119 #endif /* _ELF_RL78_H */ | 120 #endif /* _ELF_RL78_H */ |
OLD | NEW |