Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-02-17 17:36:26 +0300
committerNick Clifton <nickc@redhat.com>2006-02-17 17:36:26 +0300
commit3cfeb52a18498174c4bce17f31362ac35cb4c14e (patch)
tree554d66671948f51df2482f66ec5fc26fb6449451 /include/elf
parent4fc92aa73009d62dfd4590fd296caf4dd1210755 (diff)
Add support for the Infineon XC16X.
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/ChangeLog8
-rw-r--r--include/elf/common.h99
-rw-r--r--include/elf/xc16x.h41
3 files changed, 99 insertions, 49 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index bd1418177..bf759f26a 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,11 @@
+2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
+ Anil Paranjape <anilp1@kpitcummins.com>
+ Shilin Shakti <shilins@kpitcummins.com>
+
+ * 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 <hongjiu.lu@intel.com>
PR binutils/2258
diff --git a/include/elf/common.h b/include/elf/common.h
index 350d63b64..b11171b56 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 000000000..bc6489945
--- /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 */