From 9712c6e2003a6b55e95d6250a722cbe2d1cb31ac Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Sat, 31 Aug 1991 00:54:16 +0000 Subject: Merge in irix support. --- bfd/oasys.c | 14 ++++++++------ bfd/trad-core.c | 41 +++++++++++++++++++++++++++++++++++------ 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/bfd/oasys.c b/bfd/oasys.c index 9d37249..8585e22 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -21,7 +21,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* $Id$ */ #define UNDERSCORE_HACK 1 -#define offsetof(type, identifier) (size_t) &(((type *) 0)->identifier) +/* I had to prepend o_ b/c this name conflicts with a macro in + the iris 3.3 stddef.h... */ +#define o_offsetof(type, identifier) (size_t) &(((type *) 0)->identifier) #include #include @@ -874,13 +876,13 @@ DEFUN(oasys_write_syms, (abfd), oasys_write_record(abfd, oasys_record_is_local_enum, (oasys_record_union_type *) &symbol, - offsetof(oasys_symbol_record_type, name[0]) + l); + o_offsetof(oasys_symbol_record_type, name[0]) + l); } else { oasys_write_record(abfd, oasys_record_is_symbol_enum, (oasys_record_union_type *) &symbol, - offsetof(oasys_symbol_record_type, name[0]) + l); + o_offsetof(oasys_symbol_record_type, name[0]) + l); } g->value = index-1; } @@ -935,7 +937,7 @@ DEFUN(oasys_write_header, (abfd), oasys_write_record(abfd, oasys_record_is_header_enum, (oasys_record_union_type *)&r, - offsetof(oasys_header_record_type, description[0])); + o_offsetof(oasys_header_record_type, description[0])); @@ -1057,7 +1059,7 @@ DEFUN(oasys_write_data, (abfd), relative relocation ? */ if (r->section != (asection*)NULL) { - /* The relent has a section attatched, so it must be section + /* The relent has a section attached, so it must be section relative */ rel_byte |= RELOCATION_TYPE_REL; rel_byte |= r->section->output_section->target_index; @@ -1067,7 +1069,7 @@ DEFUN(oasys_write_data, (abfd), { asymbol *p = *(r->sym_ptr_ptr); - /* If this symbol has a section attatched, then it + /* If this symbol has a section attached, then it has already been resolved. Change from a symbol ref to a section ref */ if(p->section != (asection *)NULL) { diff --git a/bfd/trad-core.c b/bfd/trad-core.c index a9a1906..588185c 100644 --- a/bfd/trad-core.c +++ b/bfd/trad-core.c @@ -1,9 +1,33 @@ -/* BFD back end for traditional Unix core files (U-area and sections, raw) - Copyright (C) 1988, 1989, 1991 Free Software Foundation, Inc. */ +/* BFD back end for traditional Unix core files (U-area and raw sections) + Copyright (C) 1988, 1989, 1991 Free Software Foundation, Inc. + Written by John Gilmore of Cygnus Support. + +This file is part of BFD, the Binary File Descriptor library. + +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., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* This file does not define a particular back-end, but it defines routines that can be used by other back-ends. */ + #include + +/* No core file support yet on any iris, so dump all this code. + We don't appear to grok foreign core files on any system, since u + will have different sizes on different machines anyway. */ +#if (HOST_SYS != IRIX3_SYS) && (HOST_SYS != IRIX4_SYS) + #include "bfd.h" #include #include "libbfd.h" @@ -18,7 +42,6 @@ #include /* After a.out.h */ #include -#include #include @@ -42,7 +65,7 @@ bfd_target * trad_unix_core_file_p (abfd) bfd *abfd; { -#if HOST_SYS == SUN_SYS +#if HOST_SYS == SUN4_SYS return 0; #else int val; @@ -113,8 +136,12 @@ loser2: /* What a hack... we'd like to steal it from the exec file, since the upage does not seem to provide it. FIXME. */ - core_datasec (abfd)->vma = TEXT_START_ADDR + (NBPG * u.u_tsize); - core_stacksec (abfd)->vma = STACK_END_ADDR - (NBPG * u.u_ssize); +#ifdef HOST_DATA_START_ADDR + core_datasec (abfd)->vma = HOST_DATA_START_ADDR; +#else + core_datasec (abfd)->vma = HOST_TEXT_START_ADDR + (NBPG * u.u_tsize); +#endif + core_stacksec (abfd)->vma = HOST_STACK_END_ADDR - (NBPG * u.u_ssize); core_regsec (abfd)->vma = -1; core_datasec (abfd)->filepos = NBPG * UPAGES; @@ -160,3 +187,5 @@ trad_unix_core_file_matches_executable_p (core_bfd, exec_bfd) { return true; /* FIXME, We have no way of telling at this point */ } + +#endif /* (HOST_SYS != IRIX3_SYS) && (HOST_SYS != IRIX4_SYS) */ -- cgit v1.1