New ARC implementation.
[deliverable/binutils-gdb.git] / include / elf / arc.h
index 62398e1e806714ef7873f0e25f1dfc1b4b696cb5..707aeb463c63d75465af98fe1a3a12b2f5331bdd 100644 (file)
 
 /* Relocations.  */
 
+#define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
+  RELOC_NUMBER(R_##TYPE, VALUE)
+
 START_RELOC_NUMBERS (elf_arc_reloc_type)
-  RELOC_NUMBER (R_ARC_NONE, 0)
-  RELOC_NUMBER (R_ARC_32, 1)
-  RELOC_NUMBER (R_ARC_B26, 2)
-  RELOC_NUMBER (R_ARC_B22_PCREL, 3)
+#include "arc-reloc.def"
 END_RELOC_NUMBERS (R_ARC_max)
 
+#undef ARC_RELOC_HOWTO
+
 /* Processor specific flags for the ELF header e_flags field.  */
 
+/* Four bit ARC machine type field.  */
+#define EF_ARC_MACH_MSK         0x000000ff
+#define EF_ARC_OSABI_MSK 0x00000f00
+#define EF_ARC_ALL_MSK  (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK)
+
 /* Four bit ARC machine type field.  */
 
 #define EF_ARC_MACH 0x0000000f
 
 /* Various CPU types.  */
+#define E_ARC_MACH_ARC600      0x00000002
+#define E_ARC_MACH_ARC601      0x00000004
+#define E_ARC_MACH_ARC700      0x00000003
 
-#define E_ARC_MACH_ARC5 0
-#define E_ARC_MACH_ARC6 1      
-#define E_ARC_MACH_ARC7 2
-#define E_ARC_MACH_ARC8 3
+/* Processor specific flags for the ELF header e_flags field.  */
+#define EF_ARC_CPU_GENERIC      0x00000000
+#define EF_ARC_CPU_ARCV2EM      0x00000005
+#define EF_ARC_CPU_ARCV2HS      0x00000006
+
+/* ARC Linux specific ABIs.  */
+#define E_ARC_OSABI_ORIG       0x00000000   /* MUST be 0 for back-compat.  */
+#define E_ARC_OSABI_V2         0x00000200
+#define E_ARC_OSABI_V3         0x00000300
+#define E_ARC_OSABI_CURRENT    E_ARC_OSABI_V3
 
 /* Leave bits 0xf0 alone in case we ever have more than 16 cpu types.  */
 
This page took 0.027412 seconds and 4 git commands to generate.