* bfd.c: Remove strerror() to libiberty.

* elf.c:  Remove elf_set_section_contents, use generic one.  Lint.
* libbfd-in.h, libbfd.c:  Add bfd_generic_set_section_contents.
* libbfd.c (bfd_generic_{get,set}_section_contents):  Check that
last byte of transfer, not first byte, is within the section.

* host-aout.c:  Remove `BSD' archive support.  Lint.

* archures.c: Rename `struct bfd_arch_info_struct' to `struct
bfd_arch_info'.  Rename `typedef bfd_arch_info_struct_type' to
`bfd_arch_info_type'.  All uses changed.
* reloc.c:  Rename `bfd_reloc_status_enum_type' to
`bfd_reloc_status_type'.  Rename `bfd_reloc_code_enum_real_type'
to `bfd_reloc_code_real_type'.  (This seems to be a misnomer,
it needs a better name.)  All uses changed.
* targets.c:  Rename `enum target_flavour_enum' to `enum
target_flavour', and remove the `_enum' from all of the enum
values themselves.  All uses changed.

* configure.in, config/h-i386mach:  i386 mach host.
* config/t-i386-aout:  Use host-aout.c.

* trad-core.c:  Give it its own xvec's to make it independent
of other file formats.
* ecoff.c, host-aout.c:  Remove refs to trad-core.
* config/t-dec3100, t-hp300bsd, t-tahoe, t-vax:  Define TRAD_CORE.
* targets.c:  #ifdef TRAD_CORE, include it in the vector.
This commit is contained in:
John Gilmore 1991-10-05 05:18:08 +00:00
parent 5784123fb7
commit 9e2dad8ed4
8 changed files with 416 additions and 514 deletions

View file

@ -1,26 +1,26 @@
/* BFD back-end data structures for a.out (and similar) files.
Copyright (C) 1990-1991 Free Software Foundation, Inc.
Written by Cygnus Support.
We try to encapsulate the differences in a few routines, and otherwise
share large masses of code. This means we only have to fix bugs in
one place, most of the time. */
This file is part of BFD, the Binary File Descriptor library.
/* Copyright (C) 1990, 1991 Free Software Foundation, Inc.
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. */
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* We try to encapsulate the differences in the various a.out file
variants in a few routines, and otherwise share large masses of code.
This means we only have to fix bugs in one place, most of the time. */
/* $Id$ */
@ -30,7 +30,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define CAT3(a,b,c) a/**/b/**/c
#endif
/* Parameterize the a.out code based on whether it is being built
for a 32-bit architecture or a 64-bit architecture. */
#if ARCH_SIZE==64
@ -59,6 +58,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define obj_reloc_entry_size(bfd) (adata(bfd)->reloc_entry_size)
/* Declare these types at file level, since they are used in parameter
lists, which have wierd scope. */
struct external_exec;
struct internal_exec;
typedef struct aout_symbol {
asymbol symbol;
short desc;
@ -129,7 +133,7 @@ PROTO (unsigned int, NAME(aout,get_reloc_upper_bound), (bfd *abfd, sec_ptr asect
PROTO (void, NAME(aout,reclaim_reloc), (bfd *ignore_abfd, sec_ptr ignore));
PROTO (alent *, NAME(aout,get_lineno), (bfd *ignore_abfd, asymbol *ignore_symbol));
PROTO (void, NAME(aout,print_symbol), (bfd *ignore_abfd, PTR file,
asymbol *symbol, bfd_print_symbol_enum_type how));
asymbol *symbol, bfd_print_symbol_type how));
PROTO (boolean, NAME(aout,close_and_cleanup), (bfd *abfd));
PROTO (boolean, NAME(aout,find_nearest_line), (bfd *abfd, asection *section,
asymbol **symbols, bfd_vma offset, CONST char **filename_ptr,
@ -172,18 +176,23 @@ PROTO (void, NAME(aout,swap_exec_header_out),(bfd *abfd, struct internal_exec *e
#define WRITE_HEADERS(abfd, execp) \
{ \
if ((obj_textsec(abfd)->vma & 0xff )== EXEC_BYTES_SIZE) \
abfd->flags |= D_PAGED; \
else \
abfd->flags &= ~D_PAGED; \
if (abfd->flags & D_PAGED) \
{ \
execp->a_text = obj_textsec (abfd)->size + EXEC_BYTES_SIZE; \
N_SET_MAGIC (*execp, ZMAGIC); \
} \
else if (abfd->flags & WP_TEXT) \
else \
{ \
N_SET_MAGIC (*execp, NMAGIC); \
execp->a_text = obj_textsec (abfd)->size; \
if (abfd->flags & WP_TEXT) \
{ N_SET_MAGIC (*execp, NMAGIC); } \
else \
{ N_SET_MAGIC(*execp, OMAGIC); } \
} \
else { \
N_SET_MAGIC(*execp, OMAGIC); \
} \
if (abfd->flags & D_PAGED) \
{ \
data_pad = ((obj_datasec(abfd)->size + PAGE_SIZE -1) \