* 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:
parent
5784123fb7
commit
9e2dad8ed4
8 changed files with 416 additions and 514 deletions
|
@ -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) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue