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
/* 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.  */