From 68b702127954c1776acf90c4f2e11403f2ade9db Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Fri, 23 Aug 1991 20:55:23 +0000 Subject: [PATCH] * 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). --- bfd/ChangeLog | 10 ++++++++ bfd/coff-mips.c | 63 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 56 insertions(+), 17 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 292420b40b..af5bf45ff3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +Fri Aug 23 13:51:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * 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). + Thu Aug 22 22:20:19 1991 Stu Grossman (grossman at cygint.cygnus.com) * aoutx.h, coffcode.h: saberized. diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index da5816e73c..e66f6a9915 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 #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 */ -- 2.34.1