Add TMS320C4x support
This commit is contained in:
parent
281d8a3232
commit
9114ed2c29
@ -1,3 +1,11 @@
|
|||||||
|
2002-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||||||
|
|
||||||
|
* coff/internal.h: Add new relocation types.
|
||||||
|
* coff/ti.h: Add file-header flags for tic4x code.
|
||||||
|
* dis-asm.h: Add standard disassembler for tic4x.
|
||||||
|
* opcode/tic4x.h: New file.
|
||||||
|
* coff/tic4x.h: New file
|
||||||
|
|
||||||
2002-08-07 H.J. Lu <hjl@gnu.org>
|
2002-08-07 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
* bfdlink.h (bfd_link_info): Add allow_undefined_version.
|
* bfdlink.h (bfd_link_info): Add allow_undefined_version.
|
||||||
|
@ -600,6 +600,7 @@ struct internal_reloc
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define R_DIR16 1
|
#define R_DIR16 1
|
||||||
|
#define R_REL24 5
|
||||||
#define R_DIR32 6
|
#define R_DIR32 6
|
||||||
#define R_IMAGEBASE 7
|
#define R_IMAGEBASE 7
|
||||||
#define R_RELBYTE 15
|
#define R_RELBYTE 15
|
||||||
@ -608,12 +609,15 @@ struct internal_reloc
|
|||||||
#define R_PCRBYTE 18
|
#define R_PCRBYTE 18
|
||||||
#define R_PCRWORD 19
|
#define R_PCRWORD 19
|
||||||
#define R_PCRLONG 20
|
#define R_PCRLONG 20
|
||||||
|
#define R_PCR24 21
|
||||||
#define R_IPRSHORT 24
|
#define R_IPRSHORT 24
|
||||||
#define R_IPRLONG 26
|
#define R_IPRLONG 26
|
||||||
#define R_GETSEG 29
|
#define R_GETSEG 29
|
||||||
#define R_GETPA 30
|
#define R_GETPA 30
|
||||||
#define R_TAGWORD 31
|
#define R_TAGWORD 31
|
||||||
#define R_JUMPTARG 32 /* strange 29k 00xx00xx reloc */
|
#define R_JUMPTARG 32 /* strange 29k 00xx00xx reloc */
|
||||||
|
#define R_PARTLS16 32
|
||||||
|
#define R_PARTMS8 33
|
||||||
|
|
||||||
#define R_PCR16L 128
|
#define R_PCR16L 128
|
||||||
#define R_PCR26L 129
|
#define R_PCR26L 129
|
||||||
|
@ -118,6 +118,7 @@ struct external_filehdr
|
|||||||
#define F_RELFLG (0x0001)
|
#define F_RELFLG (0x0001)
|
||||||
#define F_EXEC (0x0002)
|
#define F_EXEC (0x0002)
|
||||||
#define F_LNNO (0x0004)
|
#define F_LNNO (0x0004)
|
||||||
|
#define F_VERS (0x0010) /* TMS320C4x code */
|
||||||
/* F_LSYMS needs to be redefined in your source file */
|
/* F_LSYMS needs to be redefined in your source file */
|
||||||
#define F_LSYMS_TICOFF (0x0010) /* normal COFF is 0x8 */
|
#define F_LSYMS_TICOFF (0x0010) /* normal COFF is 0x8 */
|
||||||
|
|
||||||
|
46
include/coff/tic4x.h
Normal file
46
include/coff/tic4x.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/* TI COFF information for Texas Instruments TMS320C4X/C3X.
|
||||||
|
This file customizes the settings in coff/ti.h.
|
||||||
|
|
||||||
|
Copyright 2002 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#ifndef COFF_TIC4X_H
|
||||||
|
#define COFF_TIC4X_H
|
||||||
|
|
||||||
|
#define TIC4X_TARGET_ID 0x0093
|
||||||
|
/* Octets per byte, as a power of two. */
|
||||||
|
#define TI_TARGET_ID TIC4X_TARGET_ID
|
||||||
|
#define OCTETS_PER_BYTE_POWER 2
|
||||||
|
/* Add to howto to get absolute/sect-relative version. */
|
||||||
|
#define HOWTO_BANK 6
|
||||||
|
#define TICOFF_TARGET_ARCH bfd_arch_tic4x
|
||||||
|
/* We use COFF2. */
|
||||||
|
#define TICOFF_DEFAULT_MAGIC TICOFF2MAGIC
|
||||||
|
|
||||||
|
#define TICOFF_TARGET_MACHINE_GET (FLAGS) \
|
||||||
|
(((FLAGS) & F_VERS) ? bfd_mach_c4x : bfd_mach_c3x)
|
||||||
|
|
||||||
|
#define TICOFF_TARGET_MACHINE_SET (FLAGSP, MACHINE) \
|
||||||
|
do \
|
||||||
|
{ \
|
||||||
|
if ((MACHINE) == bfd_mach_c4x) \
|
||||||
|
*(FLAGSP) = F_VERS; \
|
||||||
|
} \
|
||||||
|
while (0)
|
||||||
|
|
||||||
|
#include "coff/ti.h"
|
||||||
|
|
||||||
|
#endif /* COFF_TIC4X_H */
|
@ -229,6 +229,7 @@ extern int print_insn_rs6000 PARAMS ((bfd_vma, disassemble_info*));
|
|||||||
extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_s390 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_tic30 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
|
extern int print_insn_tic4x PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_tic54x PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_tic54x PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_tic80 PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_tic80 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*));
|
extern int print_insn_v850 PARAMS ((bfd_vma, disassemble_info*));
|
||||||
|
1338
include/opcode/tic4x.h
Normal file
1338
include/opcode/tic4x.h
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user