1f7cc78ecSespie /* ARC ELF support for BFD. 2*5f210c2aSfgsch Copyright 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. 3f7cc78ecSespie Contributed by Doug Evans, (dje@cygnus.com) 4f7cc78ecSespie 5f7cc78ecSespie This file is part of BFD, the Binary File Descriptor library. 6f7cc78ecSespie 7f7cc78ecSespie This program is free software; you can redistribute it and/or modify 8f7cc78ecSespie it under the terms of the GNU General Public License as published by 9f7cc78ecSespie the Free Software Foundation; either version 2 of the License, or 10f7cc78ecSespie (at your option) any later version. 11f7cc78ecSespie 12f7cc78ecSespie This program is distributed in the hope that it will be useful, 13f7cc78ecSespie but WITHOUT ANY WARRANTY; without even the implied warranty of 14f7cc78ecSespie MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15f7cc78ecSespie GNU General Public License for more details. 16f7cc78ecSespie 17f7cc78ecSespie You should have received a copy of the GNU General Public License 18f7cc78ecSespie along with this program; if not, write to the Free Software 19f7cc78ecSespie Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 20f7cc78ecSespie 21f7cc78ecSespie /* This file holds definitions specific to the ARC ELF ABI. */ 22f7cc78ecSespie 23f7cc78ecSespie #ifndef _ELF_ARC_H 24f7cc78ecSespie #define _ELF_ARC_H 25f7cc78ecSespie 26f7cc78ecSespie #include "elf/reloc-macros.h" 27f7cc78ecSespie 28f7cc78ecSespie /* Relocations. */ 29*5f210c2aSfgsch 30f7cc78ecSespie START_RELOC_NUMBERS (elf_arc_reloc_type) 31f7cc78ecSespie RELOC_NUMBER (R_ARC_NONE, 0) 32f7cc78ecSespie RELOC_NUMBER (R_ARC_32, 1) 33f7cc78ecSespie RELOC_NUMBER (R_ARC_B26, 2) 34f7cc78ecSespie RELOC_NUMBER (R_ARC_B22_PCREL, 3) 35*5f210c2aSfgsch END_RELOC_NUMBERS (R_ARC_max) 36f7cc78ecSespie 37f7cc78ecSespie /* Processor specific flags for the ELF header e_flags field. */ 38f7cc78ecSespie 39f7cc78ecSespie /* Four bit ARC machine type field. */ 40*5f210c2aSfgsch 41f7cc78ecSespie #define EF_ARC_MACH 0x0000000f 42f7cc78ecSespie 43f7cc78ecSespie /* Various CPU types. */ 44f7cc78ecSespie 45*5f210c2aSfgsch #define E_ARC_MACH_ARC5 0 46*5f210c2aSfgsch #define E_ARC_MACH_ARC6 1 47*5f210c2aSfgsch #define E_ARC_MACH_ARC7 2 48*5f210c2aSfgsch #define E_ARC_MACH_ARC8 3 49*5f210c2aSfgsch 50*5f210c2aSfgsch /* Leave bits 0xf0 alone in case we ever have more than 16 cpu types. */ 51f7cc78ecSespie 52f7cc78ecSespie /* File contains position independent code. */ 53*5f210c2aSfgsch 54f7cc78ecSespie #define EF_ARC_PIC 0x00000100 55f7cc78ecSespie 56f7cc78ecSespie #endif /* _ELF_ARC_H */ 57