From 8f2bfa0d5bc00a599534691b0f68f5fd846ac05d Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 28 Aug 2002 10:38:51 +0000 Subject: Add TMS320C4x support --- include/coff/internal.h | 4 ++++ include/coff/ti.h | 1 + include/coff/tic4x.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 include/coff/tic4x.h (limited to 'include/coff') diff --git a/include/coff/internal.h b/include/coff/internal.h index 4babbd4de5f..b9b6368f039 100644 --- a/include/coff/internal.h +++ b/include/coff/internal.h @@ -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 diff --git a/include/coff/ti.h b/include/coff/ti.h index d98fc89bd1f..0a59b226a32 100644 --- a/include/coff/ti.h +++ b/include/coff/ti.h @@ -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 */ diff --git a/include/coff/tic4x.h b/include/coff/tic4x.h new file mode 100644 index 00000000000..03215fb5314 --- /dev/null +++ b/include/coff/tic4x.h @@ -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 */ -- cgit v1.2.1