x86: allow opcode templates to be templated
[deliverable/binutils-gdb.git] / include / elf / rl78.h
index 342932d577710a08122d39d7d1167e0a0af6a244..d4e3d892c3a6b2a11a585f98c2cd137020568d25 100644 (file)
@@ -1,5 +1,5 @@
 /* RL78 ELF support for BFD.
-   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+   Copyright (C) 2008-2020 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -106,9 +106,14 @@ END_RELOC_NUMBERS (R_RL78_max)
 /* Values for the e_flags field in the ELF header.  */
 #define E_FLAG_RL78_64BIT_DOUBLES      (1 << 0)
 #define E_FLAG_RL78_DSP                        (1 << 1) /* Defined in the RL78 CPU Object file specification, but not explained.  */
-#define E_FLAG_RL78_G10                        (1 << 2) /* CPU is missing register banks 1-3, so uses different ABI.  */
+#define E_FLAG_RL78_CPU_MASK            0x0c
+#define E_FLAG_RL78_ANY_CPU             0x00     /* CPU not specified.  Assume no CPU specific code usage.  */
+#define E_FLAG_RL78_G10                        0x04     /* CPU is missing register banks 1-3, so uses different ABI.  */
+#define E_FLAG_RL78_G13                        0x08     /* CPU uses a peripheral for multiply/divide.  */
+#define E_FLAG_RL78_G14                        0x0c     /* CPU has multiply/divide instructions.  */
 
 /* These define the addend field of R_RL78_RH_RELAX relocations.  */
+#define RL78_RELAXA_MASK       0x000000f0      /* Mask for relax types */
 #define        RL78_RELAXA_BRA         0x00000010      /* Any type of branch (must be decoded).  */
 #define        RL78_RELAXA_ADDR16      0x00000020      /* addr16->sfr/saddr opportunity  */
 #define RL78_RELAXA_RNUM       0x0000000f      /* Number of associated relocations.  */
This page took 0.023556 seconds and 4 git commands to generate.