diff options
author | Steve Chamberlain <steve@cygnus> | 1991-10-01 03:55:40 +0000 |
---|---|---|
committer | Steve Chamberlain <steve@cygnus> | 1991-10-01 03:55:40 +0000 |
commit | 63ffe5ef86e4833dca5d777022df97677f171498 (patch) | |
tree | 81603023dcd1bc1eab2fc7fc5481710847383a33 /bfd/libbfd.h | |
parent | 7fe11a82b43a278ca46950f2e7d1176eff53132a (diff) | |
download | gdb-63ffe5ef86e4833dca5d777022df97677f171498.zip gdb-63ffe5ef86e4833dca5d777022df97677f171498.tar.gz gdb-63ffe5ef86e4833dca5d777022df97677f171498.tar.bz2 |
Insert the incidentals and things I forgot to ci last time, same log message:
Mon Sep 30 15:13:46 1991 Steve Chamberlain (steve at cygnus.com)
* cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c,
cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These
files will eventually contain processor specific bits for bfd,
like strange relocation information and dis/assembly. So far only
the H8 has been even partially done. This work also ties in with
the change in handling architectures.
* amdcoff.c: (a29k_reloc) fix error message.
* aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to
discover the architecture of the bfd. (sunos4_callback) calls the
function bfd_set_arch_mach rather than stuffing stuff directly
into the bfd. (sunos4_write_object_contents), changed names of
accessor functions.
* aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to
setup the environment.
* archive.c: (bfd_slurp_coff_armap) coff archives always have the
headers in big endian format, regardless of the endianess of the
host or target.
* archures.c: totally changed. Now an architecture is represented
with a pointer to an info structure rather than an enumerated type
and a long. The old info is available as two elements in the
structure. Future enhancements to architecure support will
involve pointers to methods being placed into the info structure.
* bfd.c: changed the definition of the bfd structure for the new
architecture stuff.
* bout.c: (b_out_set_arch_mach) changed to use the new
architecture mechanism.
* coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use
the new architecture mechanism.
* configure.in: added h8 stuff.
* ieee.c: too many changes to note. Now ieee files written with
bfd gas and ld can be read by gld and ieee only linkers and
simulators.
* libbfd.c, libbfd.h: changed prototype of bfd_write.
* newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather
than fixing the structure directly.
* oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather
than fixing the structure directly.
* opncls.c: (new_bfd) makes sure that bfd_init has been called
before opening a bfd.
* srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach
rather than fixing the structure directly.
* targets.c: (target_vector) now by defining SELECT_VECS (perhaps
in the t/hmake file) a user can select which backends they want
linked with bfd without changing the source.
* init.c: new, looks after initializing modules.
* howto.c: for future use, will allow an application to work out
what cookie to use as a handle on a relcoatio howto.
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 101 |
1 files changed, 90 insertions, 11 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index f7b2912..0c3ad59 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1,3 +1,4 @@ + /* libbfd.h -- Declarations used by bfd library *implementation*. (This include file is not for users of the library.) Copyright (C) 1990-1991 Free Software Foundation, Inc. @@ -72,7 +73,7 @@ PROTO(PTR, bfd_alloc_finish,(bfd *abfd)); PROTO (bfd_size_type, bfd_read, (PTR ptr, bfd_size_type size, bfd_size_type nitems, bfd *abfd)); -PROTO (bfd_size_type, bfd_write, (PTR ptr, bfd_size_type size, bfd_size_type nitems, bfd *abfd)); +PROTO (bfd_size_type, bfd_write, (CONST PTR ptr, bfd_size_type size, bfd_size_type nitems, bfd *abfd)); @@ -179,22 +180,32 @@ extern bfd *bfd_last_cache; /* THE FOLLOWING IS EXTRACTED FROM THE SOURCE*/ -/* FROM libbfd.c*/ -/* ------------------------------START FROM libbfd.c +/*:init.c*/ +/* bfd_check_init + +This routine is called before any other bfd function using initialized +data is used to ensure that the structures have been initialized. +Soon this function will go away, and the bfd library will assume that +bfd_init has been called. +*/ + + void EXFUN(bfd_check_init,(void)); + +/* +*/ -*i bfd_log2 +/*:libbfd.c*/ +/* *i bfd_log2 Return the log base 2 of the value supplied, rounded up. eg an arg of 1025 would return 11. */ PROTO(bfd_vma, bfd_log2,(bfd_vma x)); /* +*/ - --------------------------------END FROM libbfd.c*/ - -/* FROM cache.c*/ -/* ------------------------------START FROM cache.c - BFD_CACHE_MAX_OPEN +/*:cache.c*/ +/* BFD_CACHE_MAX_OPEN The maxiumum number of files which the cache will keep open at one time. */ @@ -258,8 +269,76 @@ one first, to avoid running out of file descriptors. PROTO(FILE *, bfd_cache_lookup_worker, (bfd *)); /* +*/ + + +/*:reloc.c*/ + +/*:cpu-h8300.c*/ + +/*:cpu-i960.c*/ + +/*:cpu-empty.c*/ + +/*:howto.c*/ + +/*:archures.c*/ +/* bfd_default_arch_struct + +What bfds are seeded with +*/ + +extern bfd_arch_info_struct_type bfd_default_arch_struct; + +/* + bfd_default_set_arch_mach + +Set the architecture and machine type in a bfd. This finds the correct +pointer to structure and inserts it into the arch_info pointer. +*/ + + boolean EXFUN(bfd_default_set_arch_mach,(bfd *abfd, + enum bfd_architecture arch, + unsigned long mach)); - --------------------------------END FROM cache.c*/ +/* + +This routine initializes the architecture dispatch table by calling +all installed architecture packages and getting them to poke around. +*/ + + PROTO(void, bfd_arch_init,(void)); + +/* + + bfd_arch_linkin + +Link the provided arch info structure into the list +*/ + + void EXFUN(bfd_arch_linkin,(bfd_arch_info_struct_type *)); + +/* + + bfd_default_compatible + +The default function for testing for compatibility +*/ + + CONST bfd_arch_info_struct_type *EXFUN(bfd_default_compatible, + (CONST bfd_arch_info_struct_type *a, + CONST bfd_arch_info_struct_type *b)); + +/* + + bfd_default_scan +The default function for working out whether this is an architecture +hit and a machine hit +*/ + + boolean EXFUN(bfd_default_scan,(CONST struct bfd_arch_info_struct *, CONST char *)); + +/* +*/ -/* FROM reloc.c*/ |