Add TMS320C4x support
This commit is contained in:
		| @@ -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> | ||||
|  | ||||
| 	* bfdlink.h (bfd_link_info): Add allow_undefined_version. | ||||
|   | ||||
| @@ -600,6 +600,7 @@ struct internal_reloc | ||||
| }; | ||||
|  | ||||
| #define R_DIR16 	 1 | ||||
| #define R_REL24          5 | ||||
| #define R_DIR32 	 6 | ||||
| #define R_IMAGEBASE	 7 | ||||
| #define R_RELBYTE	15 | ||||
| @@ -608,12 +609,15 @@ struct internal_reloc | ||||
| #define R_PCRBYTE	18 | ||||
| #define R_PCRWORD	19 | ||||
| #define R_PCRLONG	20 | ||||
| #define R_PCR24         21 | ||||
| #define R_IPRSHORT	24 | ||||
| #define R_IPRLONG	26 | ||||
| #define R_GETSEG	29 | ||||
| #define R_GETPA 	30 | ||||
| #define R_TAGWORD	31 | ||||
| #define R_JUMPTARG	32	/* strange 29k 00xx00xx reloc */ | ||||
| #define R_PARTLS16      32 | ||||
| #define R_PARTMS8       33 | ||||
|  | ||||
| #define R_PCR16L       128 | ||||
| #define R_PCR26L       129 | ||||
|   | ||||
| @@ -118,6 +118,7 @@ struct external_filehdr | ||||
| #define	F_RELFLG	(0x0001) | ||||
| #define	F_EXEC		(0x0002) | ||||
| #define	F_LNNO		(0x0004) | ||||
| #define F_VERS          (0x0010) /* TMS320C4x code */ | ||||
| /* F_LSYMS needs to be redefined in your source file */ | ||||
| #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_sh		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_tic80		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
											
										
									
								
							
		Reference in New Issue
	
	Block a user