Add support for the Infineon XC16X.
This commit is contained in:
		| @@ -1,3 +1,9 @@ | |||||||
|  | 2006-02-17  Shrirang Khisti  <shrirangk@kpitcummins.com> | ||||||
|  |             Anil Paranjape   <anilp1@kpitcummins.com> | ||||||
|  |             Shilin Shakti    <shilins@kpitcummins.com> | ||||||
|  |  | ||||||
|  | 	* dis-asm.h (print_insn_xc16c): New prototype. | ||||||
|  |  | ||||||
| 2006-02-06  Steve Ellcey  <sje@cup.hp.com> | 2006-02-06  Steve Ellcey  <sje@cup.hp.com> | ||||||
|  |  | ||||||
| 	* elf/ia64.h (SHF_IA_64_HP_TLS): New. | 	* elf/ia64.h (SHF_IA_64_HP_TLS): New. | ||||||
|   | |||||||
| @@ -267,6 +267,7 @@ extern int print_insn_sh64		(bfd_vma, disassemble_info *); | |||||||
| extern int print_insn_sh64x_media	(bfd_vma, disassemble_info *); | extern int print_insn_sh64x_media	(bfd_vma, disassemble_info *); | ||||||
| extern int print_insn_frv		(bfd_vma, disassemble_info *); | extern int print_insn_frv		(bfd_vma, disassemble_info *); | ||||||
| extern int print_insn_iq2000		(bfd_vma, disassemble_info *); | extern int print_insn_iq2000		(bfd_vma, disassemble_info *); | ||||||
|  | extern int print_insn_xc16x		(bfd_vma, disassemble_info *); | ||||||
| extern int print_insn_m32c	(bfd_vma, disassemble_info *); | extern int print_insn_m32c	(bfd_vma, disassemble_info *); | ||||||
|  |  | ||||||
| extern disassembler_ftype arc_get_disassembler (void *); | extern disassembler_ftype arc_get_disassembler (void *); | ||||||
|   | |||||||
| @@ -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> | 2006-02-10  H.J. Lu  <hongjiu.lu@intel.com> | ||||||
|  |  | ||||||
| 	PR binutils/2258 | 	PR binutils/2258 | ||||||
|   | |||||||
| @@ -198,79 +198,80 @@ | |||||||
|    unofficial e_machine number should eventually ask registry@caldera.com for |    unofficial e_machine number should eventually ask registry@caldera.com for | ||||||
|    an officially blessed number to be added to the list above.	*/ |    an officially blessed number to be added to the list above.	*/ | ||||||
|  |  | ||||||
| #define EM_PJ_OLD      99	/* picoJava */ | /* Old version of Sparc v9, from before the ABI; | ||||||
|  |    This should be removed shortly.  */ | ||||||
| /* Cygnus PowerPC ELF backend.  Written in the absence of an ABI.  */ | #define EM_OLD_SPARCV9		11 | ||||||
| #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 PowerPC, this should be removed shortly. */ | /* Old version of PowerPC, this should be removed shortly. */ | ||||||
| #define EM_PPC_OLD	17 | #define EM_PPC_OLD		17 | ||||||
|  |  | ||||||
| /* (Deprecated) Temporary number for the OpenRISC processor.  */ | /* picoJava */ | ||||||
| #define EM_OR32		0x8472 | #define EM_PJ_OLD      		99 | ||||||
|  |  | ||||||
| /* Renesas M32C and M16C.  */ | /* AVR magic number.  Written in the absense of an ABI.  */ | ||||||
| #define EM_M32C			0xFEB0 | #define EM_AVR_OLD		0x1057 | ||||||
|  |  | ||||||
| /* Cygnus M32R ELF backend.  Written in the absence of an ABI.  */ | /* MSP430 magic number.  Written in the absense of everything.  */ | ||||||
| #define EM_CYGNUS_M32R	0x9041 | #define EM_MSP430_OLD		0x1059 | ||||||
|  |  | ||||||
| /* Alpha backend magic number.  Written in the absence of an ABI.  */ | /* Morpho MT.   Written in the absense of an ABI.  */ | ||||||
| #define EM_ALPHA	0x9026 | #define EM_MT                   0x2530 | ||||||
|  |  | ||||||
| /* old S/390 backend magic number. Written in the absence of an ABI.  */ |  | ||||||
| #define EM_S390_OLD	0xa390 |  | ||||||
|  |  | ||||||
| /* 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 |  | ||||||
|  |  | ||||||
| /* V850 backend magic number.  Written in the absense of an ABI.  */ |  | ||||||
| #define EM_CYGNUS_V850	0x9080 |  | ||||||
|  |  | ||||||
| /* mn10200 and mn10300 backend magic numbers. |  | ||||||
|    Written in the absense of an ABI.  */ |  | ||||||
| #define EM_CYGNUS_MN10200	0xdead |  | ||||||
| #define EM_CYGNUS_MN10300	0xbeef |  | ||||||
|  |  | ||||||
| /* FR30 magic number - no EABI available.  */ | /* FR30 magic number - no EABI available.  */ | ||||||
| #define EM_CYGNUS_FR30		0x3330 | #define EM_CYGNUS_FR30		0x3330 | ||||||
|  |  | ||||||
| /* AVR magic number | /* OpenRISC magic number.  Written in the absense of an ABI.  */ | ||||||
|    Written in the absense of an ABI.  */ |  | ||||||
| #define EM_AVR_OLD		0x1057 |  | ||||||
|  |  | ||||||
| /* OpenRISC magic number |  | ||||||
|    Written in the absense of an ABI.  */ |  | ||||||
| #define EM_OPENRISC_OLD		0x3426 | #define EM_OPENRISC_OLD		0x3426 | ||||||
|  |  | ||||||
| /* DLX magic number | /* DLX magic number.  Written in the absense of an ABI.  */ | ||||||
|    Written in the absense of an ABI.  */ |  | ||||||
| #define EM_DLX			0x5aa5 | #define EM_DLX			0x5aa5 | ||||||
|  |  | ||||||
| #define EM_XSTORMY16		0xad45 |  | ||||||
|  |  | ||||||
| /* FRV magic number - no EABI available??.  */ | /* FRV magic number - no EABI available??.  */ | ||||||
| #define EM_CYGNUS_FRV		0x5441 | #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_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 | /* Cygnus PowerPC ELF backend.  Written in the absence of an ABI.  */ | ||||||
|       Written in the absense everything.  */ | #define EM_CYGNUS_POWERPC 	0x9025 | ||||||
| #define EM_MSP430_OLD		0x1059 |  | ||||||
|  | /* 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.  */ | /* Old, unofficial value for Xtensa.  */ | ||||||
| #define EM_XTENSA_OLD		0xabc7 | #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.  */ | /* Vitesse IQ2000.  */ | ||||||
| #define EM_IQ2000		0xFEBA | #define EM_IQ2000		0xFEBA | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										41
									
								
								include/elf/xc16x.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								include/elf/xc16x.h
									
									
									
									
									
										Normal file
									
								
							| @@ -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 */ | ||||||
		Reference in New Issue
	
	Block a user