1130561Sobrien/* IQ2000 ELF support for BFD. 2218822Sdim Copyright (C) 2002, 2003 Free Software Foundation, Inc. 3130561Sobrien 4130561SobrienThis file is part of BFD, the Binary File Descriptor library. 5130561Sobrien 6130561SobrienThis program is free software; you can redistribute it and/or modify 7130561Sobrienit under the terms of the GNU General Public License as published by 8130561Sobrienthe Free Software Foundation; either version 2 of the License, or 9130561Sobrien(at your option) any later version. 10130561Sobrien 11130561SobrienThis program is distributed in the hope that it will be useful, 12130561Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 13130561SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14130561SobrienGNU General Public License for more details. 15130561Sobrien 16130561SobrienYou should have received a copy of the GNU General Public License 17130561Sobrienalong with this program; if not, write to the Free Software Foundation, Inc., 18218822Sdim51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 19130561Sobrien 20130561Sobrien#ifndef _ELF_IQ2000_H 21130561Sobrien#define _ELF_IQ2000_H 22130561Sobrien 23130561Sobrien#include "elf/reloc-macros.h" 24130561Sobrien 25130561Sobrien/* Relocations. */ 26130561SobrienSTART_RELOC_NUMBERS (elf_iq2000_reloc_type) 27130561Sobrien RELOC_NUMBER (R_IQ2000_NONE, 0) 28130561Sobrien RELOC_NUMBER (R_IQ2000_16, 1) 29130561Sobrien RELOC_NUMBER (R_IQ2000_32, 2) 30130561Sobrien RELOC_NUMBER (R_IQ2000_26, 3) 31130561Sobrien RELOC_NUMBER (R_IQ2000_PC16, 4) 32130561Sobrien RELOC_NUMBER (R_IQ2000_HI16, 5) 33130561Sobrien RELOC_NUMBER (R_IQ2000_LO16, 6) 34130561Sobrien RELOC_NUMBER (R_IQ2000_OFFSET_16, 7) 35130561Sobrien RELOC_NUMBER (R_IQ2000_OFFSET_21, 8) 36130561Sobrien RELOC_NUMBER (R_IQ2000_UHI16, 9) 37130561Sobrien RELOC_NUMBER (R_IQ2000_32_DEBUG, 10) 38130561Sobrien RELOC_NUMBER (R_IQ2000_GNU_VTINHERIT, 200) 39130561Sobrien RELOC_NUMBER (R_IQ2000_GNU_VTENTRY, 201) 40130561SobrienEND_RELOC_NUMBERS(R_IQ2000_max) 41130561Sobrien 42130561Sobrien#define EF_IQ2000_CPU_IQ2000 0x00000001 /* default */ 43130561Sobrien#define EF_IQ2000_CPU_IQ10 0x00000002 /* IQ10 */ 44130561Sobrien#define EF_IQ2000_CPU_MASK 0x00000003 /* specific cpu bits */ 45130561Sobrien#define EF_IQ2000_ALL_FLAGS (EF_IQ2000_CPU_MASK) 46130561Sobrien 47130561Sobrien/* Define the data & instruction memory discriminator. In a linked 48130561Sobrien executable, an symbol should be deemed to point to an instruction 49130561Sobrien if ((address & IQ2000_INSN_MASK) == IQ2000_INSN_VALUE), and similarly 50130561Sobrien for the data space. */ 51130561Sobrien 52130561Sobrien#define IQ2000_DATA_MASK 0x80000000 53130561Sobrien#define IQ2000_DATA_VALUE 0x00000000 54130561Sobrien#define IQ2000_INSN_MASK 0x80000000 55130561Sobrien#define IQ2000_INSN_VALUE 0x80000000 56130561Sobrien 57130561Sobrien 58130561Sobrien#endif /* _ELF_IQ2000_H */ 59