Subversion Repositories Kolibri OS

Rev

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