Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5191 | Rev 6324 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* V850 ELF support for BFD. |
1 | /* V850 ELF support for BFD. |
2 | Copyright 1997-2013 Free Software Foundation, Inc. |
2 | Copyright (C) 1997-2015 Free Software Foundation, Inc. |
3 | Created by Michael Meissner, Cygnus Support |
3 | Created by Michael Meissner, Cygnus Support |
Line 4... | Line 4... | ||
4 | 4 | ||
Line 5... | Line 5... | ||
5 | This file is part of BFD, the Binary File Descriptor library. |
5 | This file is part of BFD, the Binary File Descriptor library. |
Line 156... | Line 156... | ||
156 | 156 | ||
Line 157... | Line 157... | ||
157 | #define EF_V800_850E3 0x00100000 |
157 | #define EF_V800_850E3 0x00100000 |
158 | 158 | ||
159 | #define EF_RH850_FPU_DOUBLE 0x00000001 /* sizeof(double) == 8. */ |
- | |
160 | #define EF_RH850_FPU_SINGLE 0x00000002 /* sizeof(double) == 4. */ |
- | |
161 | #define EF_RH850_SIMD 0x00000004 |
- | |
162 | #define EF_RH850_CACHE 0x00000008 |
159 | #define EF_RH850_FPU_DOUBLE 0x00000001 /* sizeof(double) == 8. */ |
163 | #define EF_RH850_MMU 0x00000010 |
160 | #define EF_RH850_FPU_SINGLE 0x00000002 /* sizeof(double) == 4. */ |
164 | #define EF_RH850_REGMODE22 0x00000020 /* Registers r15-r24 (inclusive) are not used. */ |
- | |
165 | #define EF_RH850_REGMODE32 0x00000040 |
161 | #define EF_RH850_REGMODE22 0x00000020 /* Registers r15-r24 (inclusive) are not used. */ |
166 | #define EF_RH850_DATA_ALIGN8 0x00000080 /* 8-byte alignment supported. */ |
162 | #define EF_RH850_REGMODE32 0x00000040 |
167 | #define EF_RH850_GP_FIX 0x00000100 /* r4 is fixed. */ |
163 | #define EF_RH850_GP_FIX 0x00000100 /* r4 is fixed. */ |
168 | #define EF_RH850_GP_NOFIX 0x00000200 /* r4 is callee save. */ |
164 | #define EF_RH850_GP_NOFIX 0x00000200 /* r4 is callee save. */ |
169 | #define EF_RH850_EP_FIX 0x00000400 /* r30 is fixed. */ |
165 | #define EF_RH850_EP_FIX 0x00000400 /* r30 is fixed. */ |
170 | #define EF_RH850_EP_NOFIX 0x00000800 /* r30 is callee save. */ |
166 | #define EF_RH850_EP_NOFIX 0x00000800 /* r30 is callee save. */ |
171 | #define EF_RH850_TP_FIX 0x00001000 /* r5 is fixed. */ |
167 | #define EF_RH850_TP_FIX 0x00001000 /* r5 is fixed. */ |
172 | #define EF_RH850_TP_NOFIX 0x00002000 /* r5 is callee save. */ |
168 | #define EF_RH850_TP_NOFIX 0x00002000 /* r5 is callee save. */ |
Line 173... | Line 169... | ||
173 | #define EF_RH850_REG2_RESERVE 0x00004000 /* r2 is fixed. */ |
169 | #define EF_RH850_REG2_RESERVE 0x00004000 /* r2 is fixed. */ |
Line 174... | Line 170... | ||
174 | #define EF_RH850_REG2_NORESERVE 0x00008000 /* r2 is callee saved. */ |
170 | #define EF_RH850_REG2_NORESERVE 0x00008000 /* r2 is callee saved. */ |
175 | 171 | ||
Line 176... | Line 172... | ||
176 | #define SHT_RNESAS_IOP SHT_LOUSER /* Used by Renesas linker. */ |
172 | #define SHT_RENESAS_IOP SHT_LOUSER /* Used by Renesas linker. */ |
Line 278... | Line 274... | ||
278 | RELOC_NUMBER (R_V850_OPsctsize, 0xe3) |
274 | RELOC_NUMBER (R_V850_OPsctsize, 0xe3) |
279 | RELOC_NUMBER (R_V850_OPscttop, 0xe4) |
275 | RELOC_NUMBER (R_V850_OPscttop, 0xe4) |
Line 280... | Line 276... | ||
280 | 276 | ||
Line -... | Line 277... | ||
- | 277 | END_RELOC_NUMBERS (R_V800_max) |
|
- | 278 | ||
- | 279 | /* Type for Renesas note sections. NB/ This is in application space |
|
- | 280 | rather than processor space as it refers to the requirements of the |
|
- | 281 | binary concerned. A given processor may be able to handle multiple |
|
- | 282 | different types of application. */ |
|
- | 283 | #define SHT_RENESAS_INFO 0xa0000000 |
|
- | 284 | ||
- | 285 | /* Contents of a Renesas note entry: |
|
- | 286 | ||
- | 287 | namesz +------------------+ |
|
- | 288 | | 4 | "REL\0" |
|
- | 289 | descsz +------------------+ |
|
- | 290 | | 4 | Currently 4byte only |
|
- | 291 | type +------------------+ |
|
- | 292 | | ID | |
|
- | 293 | name +------------------+ |
|
- | 294 | | REL\0 | |
|
- | 295 | desc +------------------+ |
|
- | 296 | | Value | |
|
- | 297 | +------------------+ */ |
|
- | 298 | ||
- | 299 | #define V850_NOTE_SECNAME ".note.renesas" |
|
- | 300 | #define SIZEOF_V850_NOTE 20 |
|
- | 301 | #define V850_NOTE_NAME "REL" |
|
- | 302 | ||
- | 303 | enum v850_notes |
|
- | 304 | { |
|
- | 305 | V850_NOTE_ALIGNMENT = 1, /* Alignment of 8-byte entities. */ |
|
- | 306 | #define EF_RH850_DATA_ALIGN4 0x0001 /* Aligned to 4-byte bounadries. */ |
|
- | 307 | #define EF_RH850_DATA_ALIGN8 0x0002 /* Aligned to 8-byte bounadries. */ |
|
- | 308 | ||
- | 309 | V850_NOTE_DATA_SIZE = 2, /* Sizeof double and long double. */ |
|
- | 310 | #define EF_RH850_DOUBLE32 0x0001 /* 32-bits in size. */ |
|
- | 311 | #define EF_RH850_DOUBLE64 0x0002 /* 64-bits in size. */ |
|
- | 312 | ||
- | 313 | V850_NOTE_FPU_INFO = 3, /* Defined if extended floating point insns are used. */ |
|
- | 314 | #define EF_RH850_FPU20 0x0001 /* Set if [N]]M{ADD|SUB}F.S are used. */ |
|
- | 315 | #define EF_RH850_FPU30 0x0002 /* Set if ADSF.D or ADDF.D is used. */ |
|
- | 316 | ||
- | 317 | V850_NOTE_SIMD_INFO = 4, |
|
- | 318 | #define EF_RH850_SIMD 0x0001 |
|
- | 319 | ||
- | 320 | V850_NOTE_CACHE_INFO = 5, |
|
- | 321 | #define EF_RH850_CACHE 0x0001 |
|
- | 322 | ||
- | 323 | V850_NOTE_MMU_INFO = 6 |
|
- | 324 | #define EF_RH850_MMU 0x0001 |
|
- | 325 | }; |
|
- | 326 | ||
281 | END_RELOC_NUMBERS (R_V800_max) |
327 | #define NUM_V850_NOTES V850_NOTE_MMU_INFO |