1 /* IQ2000 ELF support for BFD. 2 Copyright (C) 2002-2014 Free Software Foundation, Inc. 3 4 This file is part of BFD, the Binary File Descriptor library. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software Foundation, 18 Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 19 20 #ifndef _ELF_IQ2000_H 21 #define _ELF_IQ2000_H 22 23 #include "elf/reloc-macros.h" 24 25 /* Relocations. */ 26 START_RELOC_NUMBERS (elf_iq2000_reloc_type) 27 RELOC_NUMBER (R_IQ2000_NONE, 0) 28 RELOC_NUMBER (R_IQ2000_16, 1) 29 RELOC_NUMBER (R_IQ2000_32, 2) 30 RELOC_NUMBER (R_IQ2000_26, 3) 31 RELOC_NUMBER (R_IQ2000_PC16, 4) 32 RELOC_NUMBER (R_IQ2000_HI16, 5) 33 RELOC_NUMBER (R_IQ2000_LO16, 6) 34 RELOC_NUMBER (R_IQ2000_OFFSET_16, 7) 35 RELOC_NUMBER (R_IQ2000_OFFSET_21, 8) 36 RELOC_NUMBER (R_IQ2000_UHI16, 9) 37 RELOC_NUMBER (R_IQ2000_32_DEBUG, 10) 38 RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200) 39 RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201) 40 END_RELOC_NUMBERS(R_IQ2000_max) 41 42 #define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */ 43 #define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */ 44 #define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */ 45 #define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK) 46 47 /* Define the data & instruction memory discriminator. In a linked 48 executable, an symbol should be deemed to point to an instruction 49 if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly 50 for the data space. */ 51 52 #define IQ2000_DATA_MASK 0x80000000 53 #define IQ2000_DATA_VALUE 0x00000000 54 #define IQ2000_INSN_MASK 0x80000000 55 #define IQ2000_INSN_VALUE 0x80000000 56 57 58 #endif /* _ELF_IQ2000_H */ 59