diff options
author | Fred Fish <fnf@specifix.com> | 1996-12-29 17:56:24 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1996-12-29 17:56:24 +0000 |
commit | 5a608f5bf167e4f229ed43ce1a1208b29dd99332 (patch) | |
tree | 724972297c65c7e291996c2a8fcfec56db1b5709 /bfd/coff-tic80.c | |
parent | 0049ba7a8da103000966cea2776b179b2f66579a (diff) | |
download | gdb-5a608f5bf167e4f229ed43ce1a1208b29dd99332.zip gdb-5a608f5bf167e4f229ed43ce1a1208b29dd99332.tar.gz gdb-5a608f5bf167e4f229ed43ce1a1208b29dd99332.tar.bz2 |
* Makefile.in (BFD32_BACKENDS): Add coff-tic80.o
(ALL_MACHINES): Add cpu-tic80.o
(cpu-tic80.o, coff-tic80.o): Add dependencies.
* coff-tic80.c: Add skeleton, cloned from another coff config.
* coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
for TIc80.
Diffstat (limited to 'bfd/coff-tic80.c')
-rw-r--r-- | bfd/coff-tic80.c | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c index 06c8a2e..e84ef97 100644 --- a/bfd/coff-tic80.c +++ b/bfd/coff-tic80.c @@ -21,3 +21,79 @@ 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#include "bfd.h" +#include "sysdep.h" +#include "libbfd.h" +#include "obstack.h" +#include "coff/tic80.h" +#include "coff/internal.h" +#include "libcoff.h" + +#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (4) /* FIXME: What should this be? */ + +#define coff_relocate_section _bfd_coff_generic_relocate_section + +#define RTYPE2HOWTO(internal, relocentry) abort() /* FIXME: hack */ + +#ifndef BADMAG +#define BADMAG(x) TIC80BADMAG(x) +#endif + +#define TIC80 1 /* Customize coffcode.h */ +#include "coffcode.h" + +const bfd_target +#ifdef TARGET_SYM + TARGET_SYM = +#else + tic80coff_vec = +#endif +{ +#ifdef TARGET_NAME + TARGET_NAME, +#else + "coff-tic80", /* name */ +#endif + bfd_target_coff_flavour, + BFD_ENDIAN_BIG, /* data byte order is big */ + BFD_ENDIAN_BIG, /* header byte order is big */ + + (HAS_RELOC | EXEC_P | /* object flags */ + HAS_LINENO | HAS_DEBUG | + HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED), + + (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */ +#ifdef NAMES_HAVE_UNDERSCORE + '_', +#else + 0, /* leading underscore */ +#endif + '/', /* ar_pad_char */ + 15, /* ar_max_namelen */ + bfd_getb64, bfd_getb_signed_64, bfd_putb64, + bfd_getb32, bfd_getb_signed_32, bfd_putb32, + bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */ + bfd_getb64, bfd_getb_signed_64, bfd_putb64, + bfd_getb32, bfd_getb_signed_32, bfd_putb32, + bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */ + + {_bfd_dummy_target, coff_object_p, /* bfd_check_format */ + bfd_generic_archive_p, _bfd_dummy_target}, + {bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */ + bfd_false}, + {bfd_false, coff_write_object_contents, /* bfd_write_contents */ + _bfd_write_archive_contents, bfd_false}, + + BFD_JUMP_TABLE_GENERIC (coff), + BFD_JUMP_TABLE_COPY (coff), + BFD_JUMP_TABLE_CORE (_bfd_nocore), + BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff), + BFD_JUMP_TABLE_SYMBOLS (coff), + BFD_JUMP_TABLE_RELOCS (coff), + BFD_JUMP_TABLE_WRITE (coff), + BFD_JUMP_TABLE_LINK (coff), + BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + + COFF_SWAP_TABLE + }; |