From d70c5fc7c56fa9915f594aca8de15b478f3ab5b0 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 17 Feb 2006 14:36:28 +0000 Subject: Add support for the Infineon XC16X. --- include/elf/ChangeLog | 8 +++++ include/elf/common.h | 99 ++++++++++++++++++++++++++------------------------- include/elf/xc16x.h | 41 +++++++++++++++++++++ 3 files changed, 99 insertions(+), 49 deletions(-) create mode 100644 include/elf/xc16x.h (limited to 'include/elf') diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index bd14181..bf759f2 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,11 @@ +2006-02-17 Shrirang Khisti + Anil Paranjape + Shilin Shakti + + * common.h (EM_XC16X): New entry for xc16x cpu. + Sort other EM_* numbers into numerical order. + * xc16x.h: New file. + 2006-02-10 H.J. Lu PR binutils/2258 diff --git a/include/elf/common.h b/include/elf/common.h index 350d63b..b11171b 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -198,79 +198,80 @@ unofficial e_machine number should eventually ask registry@caldera.com for an officially blessed number to be added to the list above. */ -#define EM_PJ_OLD 99 /* picoJava */ - -/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ -#define EM_CYGNUS_POWERPC 0x9025 - -/* Old version of Sparc v9, from before the ABI; this should be - removed shortly. */ -#define EM_OLD_SPARCV9 11 +/* Old version of Sparc v9, from before the ABI; + This should be removed shortly. */ +#define EM_OLD_SPARCV9 11 /* Old version of PowerPC, this should be removed shortly. */ -#define EM_PPC_OLD 17 - -/* (Deprecated) Temporary number for the OpenRISC processor. */ -#define EM_OR32 0x8472 - -/* Renesas M32C and M16C. */ -#define EM_M32C 0xFEB0 - -/* Cygnus M32R ELF backend. Written in the absence of an ABI. */ -#define EM_CYGNUS_M32R 0x9041 - -/* Alpha backend magic number. Written in the absence of an ABI. */ -#define EM_ALPHA 0x9026 - -/* old S/390 backend magic number. Written in the absence of an ABI. */ -#define EM_S390_OLD 0xa390 +#define EM_PPC_OLD 17 -/* D10V backend magic number. Written in the absence of an ABI. */ -#define EM_CYGNUS_D10V 0x7650 +/* picoJava */ +#define EM_PJ_OLD 99 -/* D30V backend magic number. Written in the absence of an ABI. */ -#define EM_CYGNUS_D30V 0x7676 +/* AVR magic number. Written in the absense of an ABI. */ +#define EM_AVR_OLD 0x1057 -/* V850 backend magic number. Written in the absense of an ABI. */ -#define EM_CYGNUS_V850 0x9080 +/* MSP430 magic number. Written in the absense of everything. */ +#define EM_MSP430_OLD 0x1059 -/* mn10200 and mn10300 backend magic numbers. - Written in the absense of an ABI. */ -#define EM_CYGNUS_MN10200 0xdead -#define EM_CYGNUS_MN10300 0xbeef +/* Morpho MT. Written in the absense of an ABI. */ +#define EM_MT 0x2530 /* FR30 magic number - no EABI available. */ #define EM_CYGNUS_FR30 0x3330 -/* AVR magic number - Written in the absense of an ABI. */ -#define EM_AVR_OLD 0x1057 - -/* OpenRISC magic number - Written in the absense of an ABI. */ +/* OpenRISC magic number. Written in the absense of an ABI. */ #define EM_OPENRISC_OLD 0x3426 -/* DLX magic number - Written in the absense of an ABI. */ +/* DLX magic number. Written in the absense of an ABI. */ #define EM_DLX 0x5aa5 -#define EM_XSTORMY16 0xad45 - /* FRV magic number - no EABI available??. */ #define EM_CYGNUS_FRV 0x5441 -/* Ubicom IP2xxx; no ABI */ +/* Infineon Technologies 16-bit microcontroller with C166-V2 core. */ +#define EM_XC16X 0x4688 + +/* D10V backend magic number. Written in the absence of an ABI. */ +#define EM_CYGNUS_D10V 0x7650 + +/* D30V backend magic number. Written in the absence of an ABI. */ +#define EM_CYGNUS_D30V 0x7676 + +/* Ubicom IP2xxx; Written in the absense of an ABI. */ #define EM_IP2K_OLD 0x8217 -#define EM_MT 0x2530 /* Morpho MT; no ABI */ +/* (Deprecated) Temporary number for the OpenRISC processor. */ +#define EM_OR32 0x8472 -/* MSP430 magic number - Written in the absense everything. */ -#define EM_MSP430_OLD 0x1059 +/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */ +#define EM_CYGNUS_POWERPC 0x9025 + +/* Alpha backend magic number. Written in the absence of an ABI. */ +#define EM_ALPHA 0x9026 + +/* Cygnus M32R ELF backend. Written in the absence of an ABI. */ +#define EM_CYGNUS_M32R 0x9041 + +/* V850 backend magic number. Written in the absense of an ABI. */ +#define EM_CYGNUS_V850 0x9080 + +/* old S/390 backend magic number. Written in the absence of an ABI. */ +#define EM_S390_OLD 0xa390 /* Old, unofficial value for Xtensa. */ #define EM_XTENSA_OLD 0xabc7 +#define EM_XSTORMY16 0xad45 + +/* mn10200 and mn10300 backend magic numbers. + Written in the absense of an ABI. */ +#define EM_CYGNUS_MN10300 0xbeef +#define EM_CYGNUS_MN10200 0xdead + +/* Renesas M32C and M16C. */ +#define EM_M32C 0xFEB0 + /* Vitesse IQ2000. */ #define EM_IQ2000 0xFEBA diff --git a/include/elf/xc16x.h b/include/elf/xc16x.h new file mode 100644 index 0000000..bc64899 --- /dev/null +++ b/include/elf/xc16x.h @@ -0,0 +1,41 @@ +/* Infineon XC16X ELF support for BFD. + Copyright 2006 Free Software Foundation, Inc. + Contributed by KPIT Cummins Infosystems + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ + + +#ifndef _ELF_XC16X_H +#define _ELF_XC16X_H + +#include "elf/reloc-macros.h" + +/* Relocations. */ +START_RELOC_NUMBERS (elf_xc16x_reloc_type) + RELOC_NUMBER (R_XC16X_NONE, 0) + RELOC_NUMBER (R_XC16X_ABS_8, 1) + RELOC_NUMBER (R_XC16X_ABS_16, 2) + RELOC_NUMBER (R_XC16X_ABS_32, 3) + RELOC_NUMBER (R_XC16X_8_PCREL, 4) + RELOC_NUMBER (R_XC16X_PAG, 5) + RELOC_NUMBER (R_XC16X_POF, 6) + RELOC_NUMBER (R_XC16X_SEG, 7) + RELOC_NUMBER (R_XC16X_SOF, 8) + +END_RELOC_NUMBERS (R_XC16X_max) + +#endif /* _ELF_XC16X_H */ -- cgit v1.1