diff options
author | John Gilmore <gnu@cygnus> | 1991-08-23 20:55:23 +0000 |
---|---|---|
committer | John Gilmore <gnu@cygnus> | 1991-08-23 20:55:23 +0000 |
commit | 68b702127954c1776acf90c4f2e11403f2ade9db (patch) | |
tree | e1fafda5aad98dfade3f772d591b20d3fe5cbf88 /bfd/coff-mips.c | |
parent | 81b0b547d6666a42a830e8eb0e73c71369878712 (diff) | |
download | gdb-68b702127954c1776acf90c4f2e11403f2ade9db.zip gdb-68b702127954c1776acf90c4f2e11403f2ade9db.tar.gz gdb-68b702127954c1776acf90c4f2e11403f2ade9db.tar.bz2 |
* configure.in: Tix typo.
* ecoff.c: If compiling for DEC3100, use trad_unix core files,
else dummy out the core file support.
* trad-core.c (trad_unix_core_file_p): If HOST_DATA_START_ADDR is
specified, use it to locate the data section.
* coffcode.h (coff_write_symbols): Declare buffer as bfd_bytes
rather than as chars (lint).
Diffstat (limited to 'bfd/coff-mips.c')
-rw-r--r-- | bfd/coff-mips.c | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index da5816e..e66f6a9 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -1,41 +1,64 @@ -/* MIPS Extended-Coff handler for Binary File Diddling. - Written by Per Bothner. */ +/* MIPS Extended-Coff back-end for BFD. + Copyright (C) 1990-1991 Free Software Foundation, Inc. + Written by Per Bothner. -/* Copyright (C) 1990, 1991 Free Software Foundation, Inc. +This file is part of BFD, the Binary File Descriptor library. -This file is part of BFD, the Binary File Diddler. - -BFD is free software; you can redistribute it and/or modify +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 1, or (at your option) -any later version. +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -BFD is distributed in the hope that it will be useful, +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 BFD; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* This does not compile on anything but a MIPS yet (and I haven't been - able to test it there either since the latest merge!). So it stays - out by default. */ +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <sysdep.h> #define MIPS 1 #include "bfd.h" #include "libbfd.h" - #include "ecoff.h" #include "internalcoff.h" #include "libcoff.h" /* to allow easier abstraction-breaking */ +#include "trad-core.h" #define BADMAG(x) ECOFFBADMAG(x) +/* Define NO_COFF_SYMBOLS and NO_COFF_LINENOS to avoid coffcode.h + defining a mess of useless functions. */ +#define NO_COFF_SYMBOLS +#define NO_COFF_LINENOS #include "coffcode.h" + +#if HOST_SYS==DEC3100_SYS +/* If compiling on host, implement traditional Unix core files with upage */ +#undef coff_core_file_failing_command +#define coff_core_file_failing_command trad_unix_core_file_failing_command +#undef coff_core_file_failing_signal +#define coff_core_file_failing_signal trad_unix_core_file_failing_signal +#undef coff_core_file_matches_executable_p +#define coff_core_file_matches_executable_p trad_unix_core_file_matches_executable_p +#endif + +/* We do not implement symbols for ecoff. */ +#define coff_get_symtab_upper_bound (PROTO(unsigned int, (*),(bfd *)))bfd_false +#define coff_get_symtab (PROTO(unsigned int, (*), (bfd *, asymbol **)))bfd_0 +#define coff_print_symbol \ + (PROTO(void,(*),(bfd *, PTR, asymbol *, enum bfd_print_symbol))) bfd_void +#define coff_swap_sym_in (PROTO(void,(*),(bfd *,PTR,PTR))) bfd_void +#define coff_swap_aux_in (PROTO(void,(*),(bfd *,PTR,PTR))) bfd_void + +/* We do not implement linenos for ecoff. */ +#define coff_get_lineno (struct lineno_cache_entry *(*)()) bfd_nullvoidptr +#define coff_swap_lineno_in (PROTO(void,(*),(bfd *,PTR,PTR))) bfd_void +#define coff_find_nearest_line (PROTO(boolean, (*),(bfd*,asection*,asymbol**,bfd_vma, CONST char**, CONST char**, unsigned int *))) bfd_false + bfd_target ecoff_little_vec = {"ecoff-littlemips", /* name */ bfd_target_coff_flavour_enum, @@ -78,7 +101,13 @@ bfd_target ecoff_big_vec = _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */ _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */ {_bfd_dummy_target, coff_object_p, /* bfd_check_format */ - bfd_generic_archive_p, _bfd_dummy_target}, + bfd_generic_archive_p, +#if HOST_SYS==DEC3100_SYS + trad_unix_core_file_p /* On host, this works */ +#else + _bfd_dummy_target /* Other folks get no core support */ +#endif + }, {bfd_false, coff_mkobject, bfd_false, /* bfd_set_format */ bfd_false}, {bfd_false, coff_write_object_contents, /* bfd_write_contents */ |