Add support for the Infineon XC16X.
This commit is contained in:
parent
4fc92aa730
commit
3cfeb52a18
|
@ -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>
|
||||
|
||||
* elf/ia64.h (SHF_IA_64_HP_TLS): New.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
|
||||
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, or (at your option)
|
||||
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street - Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
|
||||
Written by Cygnus Support, 1993.
|
||||
|
||||
The opcode library (libopcodes.a) provides instruction decoders for
|
||||
|
@ -48,7 +48,7 @@ enum dis_insn_type {
|
|||
dis_dref2 /* Two data references in instruction */
|
||||
};
|
||||
|
||||
/* This struct is passed into the instruction decoding routine,
|
||||
/* This struct is passed into the instruction decoding routine,
|
||||
and is passed back out into each callback. The various fields are used
|
||||
for conveying information from your main routine into your callbacks,
|
||||
for passing information into the instruction decoders (such as the
|
||||
|
@ -136,7 +136,7 @@ typedef struct disassemble_info {
|
|||
displaying debugging outout. */
|
||||
bfd_boolean (* symbol_is_valid)
|
||||
(asymbol *, struct disassemble_info * info);
|
||||
|
||||
|
||||
/* These are for buffer_read_memory. */
|
||||
bfd_byte *buffer;
|
||||
bfd_vma buffer_vma;
|
||||
|
@ -156,7 +156,7 @@ typedef struct disassemble_info {
|
|||
int bytes_per_chunk;
|
||||
enum bfd_endian display_endian;
|
||||
|
||||
/* Number of octets per incremented target address
|
||||
/* Number of octets per incremented target address
|
||||
Normally one, but some DSPs have byte sizes of 16 or 32 bits. */
|
||||
unsigned int octets_per_byte;
|
||||
|
||||
|
@ -252,7 +252,7 @@ extern int print_insn_pj (bfd_vma, disassemble_info *);
|
|||
extern int print_insn_big_powerpc (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_little_powerpc (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_rs6000 (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_s390 (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_s390 (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_sh (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_tic30 (bfd_vma, disassemble_info *);
|
||||
extern int print_insn_tic4x (bfd_vma, disassemble_info *);
|
||||
|
@ -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_frv (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 disassembler_ftype arc_get_disassembler (void *);
|
||||
|
@ -315,10 +316,10 @@ extern void generic_print_address
|
|||
extern int generic_symbol_at_address
|
||||
(bfd_vma, struct disassemble_info *);
|
||||
|
||||
/* Also always true. */
|
||||
/* Also always true. */
|
||||
extern bfd_boolean generic_symbol_is_valid
|
||||
(asymbol *, struct disassemble_info *);
|
||||
|
||||
|
||||
/* Method to initialize a disassemble_info struct. This should be
|
||||
called by all applications creating such a struct. */
|
||||
extern void init_disassemble_info (struct disassemble_info *info, void *stream,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
#define EM_PPC_OLD 17
|
||||
|
||||
/* (Deprecated) Temporary number for the OpenRISC processor. */
|
||||
#define EM_OR32 0x8472
|
||||
/* picoJava */
|
||||
#define EM_PJ_OLD 99
|
||||
|
||||
/* Renesas M32C and M16C. */
|
||||
#define EM_M32C 0xFEB0
|
||||
/* AVR magic number. Written in the absense of an ABI. */
|
||||
#define EM_AVR_OLD 0x1057
|
||||
|
||||
/* Cygnus M32R ELF backend. Written in the absence of an ABI. */
|
||||
#define EM_CYGNUS_M32R 0x9041
|
||||
/* MSP430 magic number. Written in the absense of everything. */
|
||||
#define EM_MSP430_OLD 0x1059
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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
|
||||
/* 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
|
||||
|
||||
|
|
|
@ -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 */
|
Loading…
Reference in New Issue