Add TMS320C4x support

This commit is contained in:
Nick Clifton
2002-08-28 10:38:49 +00:00
parent 281d8a3232
commit 9114ed2c29
6 changed files with 1398 additions and 0 deletions

View File

@@ -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

View File

@@ -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
View 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 */