* targets.c (bfd_target): Add _bfd_free_cached_info field.
authorIan Lance Taylor <ian@airs.com>
Fri, 1 Apr 1994 17:55:47 +0000 (17:55 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 1 Apr 1994 17:55:47 +0000 (17:55 +0000)
* bfd.c (bfd_free_cached_info): Define.
* bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
* bfd-in2.h: Rebuilt.
* All backends: Initialize bfd_free_cached_info entry point to
bfd_true.

27 files changed:
bfd/ChangeLog
bfd/aix386-core.c
bfd/aout-adobe.c
bfd/aout-target.h
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/bfd.c
bfd/bout.c
bfd/cisco-core.c
bfd/coffcode.h
bfd/elf32-target.h
bfd/elf64-target.h
bfd/hppabsd-core.c
bfd/hpux-core.c
bfd/i386os9k.c
bfd/ieee.c
bfd/irix-core.c
bfd/libecoff.h
bfd/nlm-target.h
bfd/oasys.c
bfd/osf-core.c
bfd/ptrace-core.c
bfd/som.c
bfd/srec.c
bfd/targets.c
bfd/tekhex.c
bfd/trad-core.c

index e6793660808fd569d812bfcb4b31f91331120bce..4f25e82fb2e96fc947944a72392d8407baecaa90 100644 (file)
@@ -1,3 +1,20 @@
+Fri Apr  1 12:40:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * targets.c (bfd_target): Add _bfd_free_cached_info field.
+       * bfd.c (bfd_free_cached_info): Define.
+       * bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
+       * bfd-in2.h: Rebuilt.
+       * All backends: Initialize bfd_free_cached_info entry point to
+       bfd_true.
+
+       * elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
+       first, unused, argument.
+       (hppa_elf_is_local_label): Declare instead of
+       som_bfd_is_local_label.
+
+       * coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
+       absolute R_IREL reloc.
+
 Thu Mar 31 11:52:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        Added some support for Irix 4 shared libraries.
index bf9c1af9825d66071b021f867e5997528bcaf23d..d56654650e64e006e926685c12921285eefe5d16 100644 (file)
@@ -309,6 +309,7 @@ aix386_core_file_matches_executable_p (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define aix386_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asection *))) bfd_false)
+#define aix386_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 void
index 96c48ec10d28213bbd2d3b4fd3be20ca2de7b4e9..3de6af60a45b1fb31da518aa020167c8a5cbbfa1 100644 (file)
@@ -32,7 +32,7 @@ extern bfd_target a_out_adobe_vec;            /* Forward decl */
 PROTO (static bfd_target *, aout_adobe_callback, (bfd *));
 
 PROTO (boolean, aout_32_slurp_symbol_table, (bfd *abfd));
-PROTO (void , aout_32_write_syms, ());
+PROTO (boolean , aout_32_write_syms, ());
 PROTO (static void, aout_adobe_write_section, (bfd *abfd, sec_ptr sect));
 
 /* Swaps the information in an executable header taken from a raw byte
@@ -44,10 +44,10 @@ PROTO(void, aout_adobe_swap_exec_header_in,
       struct internal_exec *execp));
         
 void
-DEFUN(aout_adobe_swap_exec_header_in,(abfd, raw_bytes, execp),
-      bfd *abfd AND
-      struct external_exec *raw_bytes AND
-      struct internal_exec *execp)
+aout_adobe_swap_exec_header_in (abfd, raw_bytes, execp)
+     bfd *abfd;
+     struct external_exec *raw_bytes;
+     struct internal_exec *execp;
 {
   struct external_exec *bytes = (struct external_exec *)raw_bytes;
 
@@ -70,10 +70,10 @@ PROTO(void, aout_adobe_swap_exec_header_out,
           struct internal_exec *execp,
           struct external_exec *raw_bytes));
 void
-DEFUN(aout_adobe_swap_exec_header_out,(abfd, execp, raw_bytes),
-     bfd *abfd AND
-     struct internal_exec *execp AND 
-     struct external_exec *raw_bytes)
+aout_adobe_swap_exec_header_out (abfd, execp, raw_bytes)
+     bfd *abfd;
+     struct internal_exec *execp;
+     struct external_exec *raw_bytes;
 {
   struct external_exec *bytes = (struct external_exec *)raw_bytes;
 
@@ -99,7 +99,7 @@ aout_adobe_object_p (abfd)
 
   if (bfd_read ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd)
       != EXEC_BYTES_SIZE) {
-    bfd_error = wrong_format;
+    bfd_set_error (bfd_error_wrong_format);
     return 0;
   }
 
@@ -119,7 +119,7 @@ aout_adobe_object_p (abfd)
       ;                /* Just continue anyway, if specifically set to this format */
     else
       {
-       bfd_error = wrong_format;
+       bfd_set_error (bfd_error_wrong_format);
        return 0;
       }
   }
@@ -156,7 +156,7 @@ aout_adobe_callback (abfd)
 
   for (;;) {
     if (bfd_read ((PTR) ext, 1, sizeof (*ext), abfd) != sizeof (*ext)) {
-      bfd_error = wrong_format;
+      bfd_set_error (bfd_error_wrong_format);
       return 0;
     }
     switch (ext->e_type[0]) {
@@ -187,11 +187,11 @@ aout_adobe_callback (abfd)
     /* First one is called ".text" or whatever; subsequent ones are
        ".text1", ".text2", ... */
 
-    bfd_error = no_error;
+    bfd_set_error (bfd_error_no_error);
     sect = bfd_make_section (abfd, section_name);
     trynum = 0;
     while (!sect) {
-      if (bfd_error != no_error)
+      if (bfd_get_error () != bfd_error_no_error)
        return 0;       /* Some other error -- slide into the sunset */
       sprintf (try_again, "%s%d", section_name, ++trynum);
       sect = bfd_make_section (abfd, try_again);
@@ -201,7 +201,7 @@ aout_adobe_callback (abfd)
     if (sect->name == try_again) {
       newname = (char *) bfd_zalloc(abfd, strlen (sect->name));
       if (newname == NULL) {
-       bfd_error = no_memory;
+       bfd_set_error (bfd_error_no_memory);
        return 0;
       }
       strcpy (newname, sect->name);
@@ -255,7 +255,7 @@ aout_adobe_mkobject (abfd)
 
   rawptr = (struct bout_data_struct *) bfd_zalloc (abfd, sizeof (struct bout_data_struct));
   if (rawptr == NULL) {
-      bfd_error = no_memory;
+      bfd_set_error (bfd_error_no_memory);
       return false;
     }
 
@@ -340,7 +340,8 @@ aout_adobe_write_object_contents (abfd)
     {
       bfd_seek (abfd, (file_ptr)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET);
 
-      aout_32_write_syms (abfd);
+      if (! aout_32_write_syms (abfd))
+       return false;
 
       bfd_seek (abfd, (file_ptr)(N_TRELOFF(*exec_hdr(abfd))), SEEK_SET);
 
@@ -439,9 +440,9 @@ aout_adobe_set_arch_mach (abfd, arch, machine)
 }
 
 static int 
-DEFUN(aout_adobe_sizeof_headers,(ignore_abfd, ignore),
-      bfd *ignore_abfd AND
-      boolean ignore)
+aout_adobe_sizeof_headers (ignore_abfd, ignore)
+     bfd *ignore_abfd;
+     boolean ignore;
 {
   return sizeof(struct internal_exec);
 }
@@ -476,11 +477,14 @@ DEFUN(aout_adobe_sizeof_headers,(ignore_abfd, ignore),
 
 #define aout_32_bfd_get_relocated_section_contents  bfd_generic_get_relocated_section_contents
 #define aout_32_bfd_relax_section                   bfd_generic_relax_section
-#define aout_32_bfd_seclet_link                            bfd_generic_seclet_link
 #define aout_32_bfd_reloc_type_lookup \
   ((CONST struct reloc_howto_struct *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) bfd_nullvoidptr)
 #define aout_32_bfd_make_debug_symbol \
   ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
+#define aout_32_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
+#define aout_32_bfd_link_add_symbols _bfd_generic_link_add_symbols
+#define aout_32_bfd_final_link _bfd_generic_final_link
+#define aout_32_bfd_free_cached_info bfd_true
 
 bfd_target a_out_adobe_vec =
 {
@@ -490,7 +494,7 @@ bfd_target a_out_adobe_vec =
   true,                                /* hdr byte order is big */
   (HAS_RELOC | EXEC_P |                /* object flags */
    HAS_LINENO | HAS_DEBUG |
-   HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT ),
+   HAS_SYMS | HAS_LOCALS | WP_TEXT ),
   /* section flags */
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_DATA | SEC_RELOC),
   '_',                         /*  symbol leading char */
@@ -498,8 +502,12 @@ bfd_target a_out_adobe_vec =
   16,                          /* ar_max_namelen */
   2,                           /* minumum alignment power */
 
-  _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_getb64, bfd_getb_signed_64, bfd_putb64,
+     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* data */
+  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
+     bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+     bfd_getb16, bfd_getb_signed_16, bfd_putb16, /* hdrs */
  {_bfd_dummy_target, aout_adobe_object_p, /* bfd_check_format */
    bfd_generic_archive_p, _bfd_dummy_target},
  {bfd_false, aout_adobe_mkobject, /* bfd_set_format */
index 906f5f116db415ff7503b1f2e7b844ca401a046f..dc59e27389a5ec3492a401b8c567923eeea5b422 100644 (file)
@@ -387,6 +387,23 @@ MY_bfd_final_link (abfd, info)
 #define MY_bfd_link_add_symbols NAME(aout,link_add_symbols)
 #endif
 
+#ifndef MY_bfd_copy_private_section_data
+#define MY_bfd_copy_private_section_data \
+  ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
+#endif
+#ifndef MY_bfd_copy_private_bfd_data
+#define MY_bfd_copy_private_bfd_data \
+  ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
+#endif
+
+#ifndef MY_bfd_is_local_label
+#define MY_bfd_is_local_label bfd_generic_is_local_label
+#endif
+
+#ifndef MY_bfd_free_cached_info
+#define MY_bfd_free_cached_info bfd_true
+#endif
+
 /* Aout symbols normally have leading underscores */
 #ifndef MY_symbol_leading_char 
 #define MY_symbol_leading_char '_'
index 6b0bc8c291a5fcce05e89c8da4115d8f26d6514b..d42d2c5d43de8ebfefcd928af1f967a736e6c3a1 100644 (file)
@@ -47,8 +47,8 @@ here.  */
 #include "ansidecl.h"
 #include "obstack.h"
 
-#define BFD_VERSION "2.2"
-
+/* These two lines get substitutions done by commands in Makefile.in.  */
+#define BFD_VERSION   "@VERSION@"
 #define BFD_ARCH_SIZE @WORDSIZE@
 
 #if BFD_ARCH_SIZE >= 64
@@ -100,9 +100,9 @@ typedef enum bfd_boolean {bfd_false, bfd_true} boolean;
 typedef long int file_ptr;
 
 /* Support for different sizes of target format ints and addresses.  If the
-   host implements 64-bit values, it defines HOST_64_BIT to be the appropriate
+   host implements 64-bit values, it defines BFD_HOST_64_BIT to be the appropriate
    type.  Otherwise, this code will fall back on gcc's "long long" type if gcc
-   is being used.  HOST_64_BIT must be defined in such a way as to be a valid
+   is being used.  BFD_HOST_64_BIT must be defined in such a way as to be a valid
    type name by itself or with "unsigned" prefixed.  It should be a signed
    type by itself.
 
@@ -111,10 +111,10 @@ typedef long int file_ptr;
 
 #ifdef BFD64
 
-#if defined (__GNUC__) && !defined (HOST_64_BIT)
-#define HOST_64_BIT long long
-typedef HOST_64_BIT int64_type;
-typedef unsigned HOST_64_BIT uint64_type;
+#if defined (__GNUC__) && !defined (BFD_HOST_64_BIT)
+#define BFD_HOST_64_BIT long long
+typedef BFD_HOST_64_BIT int64_type;
+typedef unsigned BFD_HOST_64_BIT uint64_type;
 #endif
 
 #if !defined (uint64_type) && defined (__GNUC__)
@@ -126,10 +126,10 @@ typedef unsigned HOST_64_BIT uint64_type;
 #define uint64_typeHIGH(x) ((unsigned long)(((x) >> 32) & 0xffffffff))
 #endif
 
-typedef unsigned HOST_64_BIT bfd_vma;
-typedef HOST_64_BIT bfd_signed_vma;
-typedef unsigned HOST_64_BIT bfd_size_type;
-typedef unsigned HOST_64_BIT symvalue;
+typedef unsigned BFD_HOST_64_BIT bfd_vma;
+typedef BFD_HOST_64_BIT bfd_signed_vma;
+typedef unsigned BFD_HOST_64_BIT bfd_size_type;
+typedef unsigned BFD_HOST_64_BIT symvalue;
 #ifndef fprintf_vma
 #define fprintf_vma(s,x) \
                fprintf(s,"%08lx%08lx", uint64_typeHIGH(x), uint64_typeLOW(x))
@@ -431,6 +431,8 @@ CAT(NAME,_close_and_cleanup),\
 CAT(NAME,_set_section_contents),\
 CAT(NAME,_get_section_contents),\
 CAT(NAME,_new_section_hook),\
+CAT(NAME,_bfd_copy_private_section_data),\
+CAT(NAME,_bfd_copy_private_bfd_data),\
 CAT(NAME,_get_symtab_upper_bound),\
 CAT(NAME,_get_symtab),\
 CAT(NAME,_get_reloc_upper_bound),\
@@ -438,6 +440,7 @@ CAT(NAME,_canonicalize_reloc),\
 CAT(NAME,_make_empty_symbol),\
 CAT(NAME,_print_symbol),\
 CAT(NAME,_get_symbol_info),\
+CAT(NAME,_bfd_is_local_label),\
 CAT(NAME,_get_lineno),\
 CAT(NAME,_set_arch_mach),\
 CAT(NAME,_openr_next_archived_file),\
@@ -453,7 +456,8 @@ CAT(NAME,_bfd_reloc_type_lookup),\
 CAT(NAME,_bfd_make_debug_symbol),\
 CAT(NAME,_bfd_link_hash_table_create),\
 CAT(NAME,_bfd_link_add_symbols),\
-CAT(NAME,_bfd_final_link)
+CAT(NAME,_bfd_final_link),\
+CAT(NAME,_bfd_free_cached_info)
 
 #define COFF_SWAP_TABLE (PTR) &bfd_coff_std_swap_table
 
index 25adc05498518180e3dabf3c1efd5414ac39c0fa..248c04fcbcc81b4f5ba4daed9adf4e8d29b08575 100644 (file)
@@ -456,7 +456,8 @@ CAT(NAME,_bfd_reloc_type_lookup),\
 CAT(NAME,_bfd_make_debug_symbol),\
 CAT(NAME,_bfd_link_hash_table_create),\
 CAT(NAME,_bfd_link_add_symbols),\
-CAT(NAME,_bfd_final_link)
+CAT(NAME,_bfd_final_link),\
+CAT(NAME,_bfd_free_cached_info)
 
 #define COFF_SWAP_TABLE (PTR) &bfd_coff_std_swap_table
 
@@ -1929,6 +1930,9 @@ bfd_copy_private_bfd_data PARAMS ((bfd *ibfd, bfd *obfd));
 #define bfd_final_link(abfd, info) \
        BFD_SEND (abfd, _bfd_final_link, (abfd, info))
 
+#define bfd_free_cached_info(abfd) \
+       BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
+
 symindex 
 bfd_get_next_mapent PARAMS ((bfd *abfd, symindex previous, carsym **sym));
 
@@ -2110,6 +2114,9 @@ typedef struct bfd_target
     section of the BFD.  */
  boolean (*_bfd_final_link) PARAMS ((bfd *, struct bfd_link_info *));
 
+  /* Ask the BFD to free all cached information.  */
+ boolean (*_bfd_free_cached_info) PARAMS ((bfd *));
  PTR backend_data;
 } bfd_target;
 bfd_target *
index d772e5ed26bf3deebed29b2da169eeacefd95ffc..91bac07b381e708aa1a4016b009e5ccfd0737bc3 100644 (file)
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -806,5 +806,8 @@ DESCRIPTION
 .#define bfd_final_link(abfd, info) \
 .      BFD_SEND (abfd, _bfd_final_link, (abfd, info))
 .
+.#define bfd_free_cached_info(abfd) \
+.       BFD_SEND (abfd, _bfd_free_cached_info, (abfd))
+.
 
 */
index 5dcc29d83da419e65528d1f11809ea62d8db5ce6..971247c0a4d44f1d6ac1f6473cc99e0016af25c6 100644 (file)
@@ -1379,6 +1379,7 @@ b_out_get_relocated_section_contents (in_abfd, link_info, link_order, data,
 #define aout_32_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
 #define aout_32_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define aout_32_bfd_final_link _bfd_generic_final_link
+#define aout_32_bfd_free_cached_info bfd_true
 
 bfd_target b_out_vec_big_host =
 {
index dc9775f8f5008e2a4126ad1eb1955babbd0d4ba7..2a916bfe1e98233ef88dcf02088b981cb8c19248 100644 (file)
@@ -339,6 +339,7 @@ cisco_core_file_matches_executable_p (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define cisco_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+#define cisco_bfd_free_cached_info bfd_true
 
 bfd_target cisco_core_vec =
   {
index 66e5ce5be3228d4a9d5b30f420bca688eca313cd..f320450831465021c47f653c48f755400188641b 100644 (file)
@@ -2526,3 +2526,4 @@ static CONST bfd_coff_backend_data bfd_coff_std_swap_table =
 #ifndef coff_bfd_is_local_label
 #define coff_bfd_is_local_label bfd_generic_is_local_label
 #endif
+#define coff_bfd_free_cached_info bfd_true
index 79bacb6160945c1de6d4b9cd57fd50508f47a4f8..951913c99f0b61e9914dbd22d8742ae5edd97475 100644 (file)
@@ -71,6 +71,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #ifndef bfd_elf32_bfd_is_local_label
 #define bfd_elf32_bfd_is_local_label bfd_generic_is_local_label
 #endif
+#ifndef bfd_elf32_bfd_free_cached_info
+#define bfd_elf32_bfd_free_cached_info bfd_true
+#endif
 
 #ifndef elf_info_to_howto_rel
 #define elf_info_to_howto_rel 0
index 75ba99850f93692c2e181732109f9ab36291eedd..454f0d50a12177352af78d43d66f79abfad3d09b 100644 (file)
@@ -68,10 +68,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define bfd_elf64_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #endif
-
 #ifndef bfd_elf64_bfd_is_local_label
 #define bfd_elf64_bfd_is_local_label bfd_generic_is_local_label
 #endif
+#ifndef bfd_elf64_bfd_free_cached_info
+#define bfd_elf64_bfd_free_cached_info bfd_true
+#endif
 
 #ifndef elf_info_to_howto_rel
 #define elf_info_to_howto_rel 0
index 70270aee6d64e471991592a92e5a5590f99da13e..96b82d04874a605084972b58fef10390d7b7a426 100644 (file)
@@ -291,6 +291,7 @@ hppabsd_core_core_file_matches_executable_p (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define hppabsd_core_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+#define hppabsd_core_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 static void
index 86555de7940b999e06adad2105e67b8d5dd1bc9a..ef9f32dea66968a3e3e0bbe1f797ac6bbc079a07 100644 (file)
@@ -273,6 +273,7 @@ hpux_core_core_file_matches_executable_p (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define hpux_core_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+#define hpux_core_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 void
index 14e836697127a5a6c20718e68e0a57f10d0343d3..c6955fe22ba31dfc672cfaa5d21bb15bd9508f15 100644 (file)
@@ -31,33 +31,33 @@ static bfd_target *os9k_callback PARAMS ((bfd *));
 /* Swaps the information in an executable header taken from a raw byte
    stream memory image, into the internal exec_header structure.  */
 void
-DEFUN(os9k_swap_exec_header_in,(abfd, raw_bytes, execp),
-      bfd *abfd AND
-      mh_com *raw_bytes AND
-      struct internal_exec *execp)
+os9k_swap_exec_header_in (abfd, raw_bytes, execp)
+     bfd *abfd;
+     mh_com *raw_bytes;
+     struct internal_exec *execp;
 {
-  mh_com *bytes = (mh_com *)raw_bytes;
+  mh_com *bytes = (mh_com *) raw_bytes;
   unsigned int dload, dmemsize, dmemstart;
 
   /* Now fill in fields in the execp, from the bytes in the raw data.  */
-  execp->a_info   = bfd_h_get_16 (abfd, bytes->m_sync);
-  execp->a_syms   = 0;
-  execp->a_entry  = bfd_h_get_32 (abfd, bytes->m_exec);
+  execp->a_info = bfd_h_get_16 (abfd, bytes->m_sync);
+  execp->a_syms = 0;
+  execp->a_entry = bfd_h_get_32 (abfd, bytes->m_exec);
   execp->a_talign = 2;
   execp->a_dalign = 2;
   execp->a_balign = 2;
 
-  dload  = bfd_h_get_32 (abfd, bytes->m_idata);
+  dload = bfd_h_get_32 (abfd, bytes->m_idata);
   execp->a_data = dload + 8;
 
-  bfd_seek(abfd, (file_ptr)dload, SEEK_SET);
-  bfd_read(&dmemstart, sizeof(dmemstart), 1, abfd);
-  bfd_read(&dmemsize, sizeof(dmemsize), 1, abfd);
+  bfd_seek (abfd, (file_ptr) dload, SEEK_SET);
+  bfd_read (&dmemstart, sizeof (dmemstart), 1, abfd);
+  bfd_read (&dmemsize, sizeof (dmemsize), 1, abfd);
 
-  execp->a_tload  = 0;
-  execp->a_dload = bfd_h_get_32 (abfd, (unsigned char *)&dmemstart);
+  execp->a_tload = 0;
+  execp->a_dload = bfd_h_get_32 (abfd, (unsigned char *) &dmemstart);
   execp->a_text = dload - execp->a_tload;
-  execp->a_data = bfd_h_get_32 (abfd, (unsigned char *)&dmemsize);
+  execp->a_data = bfd_h_get_32 (abfd, (unsigned char *) &dmemsize);
   execp->a_bss = bfd_h_get_32 (abfd, bytes->m_data) - execp->a_data;
 
   execp->a_trsize = 0;
@@ -68,35 +68,36 @@ DEFUN(os9k_swap_exec_header_in,(abfd, raw_bytes, execp),
 /* Swaps the information in an internal exec header structure into the
    supplied buffer ready for writing to disk.  */
 
-PROTO(void, os9k_swap_exec_header_out,
-         (bfd *abfd,
-          struct internal_exec *execp,
-          struct mh_com *raw_bytes));
+PROTO (void, os9k_swap_exec_header_out,
+         (bfd * abfd,
+         struct internal_exec * execp,
+         struct mh_com * raw_bytes));
 void
-DEFUN(os9k_swap_exec_header_out,(abfd, execp, raw_bytes),
-     bfd *abfd AND
-     struct internal_exec *execp AND 
-     mh_com *raw_bytes)
+os9k_swap_exec_header_out (abfd, execp, raw_bytes)
+     bfd *abfd;
+     struct internal_exec *execp;
+     mh_com *raw_bytes;
 {
-  mh_com *bytes = (mh_com *)raw_bytes;
+  mh_com *bytes = (mh_com *) raw_bytes;
 
   /* Now fill in fields in the raw data, from the fields in the exec struct. */
-  bfd_h_put_32 (abfd, execp->a_info  , bytes->e_info);
-  bfd_h_put_32 (abfd, execp->a_text  , bytes->e_text);
-  bfd_h_put_32 (abfd, execp->a_data  , bytes->e_data);
-  bfd_h_put_32 (abfd, execp->a_bss   , bytes->e_bss);
-  bfd_h_put_32 (abfd, execp->a_syms  , bytes->e_syms);
-  bfd_h_put_32 (abfd, execp->a_entry , bytes->e_entry);
+  bfd_h_put_32 (abfd, execp->a_info, bytes->e_info);
+  bfd_h_put_32 (abfd, execp->a_text, bytes->e_text);
+  bfd_h_put_32 (abfd, execp->a_data, bytes->e_data);
+  bfd_h_put_32 (abfd, execp->a_bss, bytes->e_bss);
+  bfd_h_put_32 (abfd, execp->a_syms, bytes->e_syms);
+  bfd_h_put_32 (abfd, execp->a_entry, bytes->e_entry);
   bfd_h_put_32 (abfd, execp->a_trsize, bytes->e_trsize);
   bfd_h_put_32 (abfd, execp->a_drsize, bytes->e_drsize);
-  bfd_h_put_32 (abfd, execp->a_tload , bytes->e_tload);
-  bfd_h_put_32 (abfd, execp->a_dload , bytes->e_dload);
+  bfd_h_put_32 (abfd, execp->a_tload, bytes->e_tload);
+  bfd_h_put_32 (abfd, execp->a_dload, bytes->e_dload);
   bytes->e_talign[0] = execp->a_talign;
   bytes->e_dalign[0] = execp->a_dalign;
   bytes->e_balign[0] = execp->a_balign;
   bytes->e_relaxable[0] = execp->a_relaxable;
 }
-#endif 0
+
+#endif /* 0 */
 
 static bfd_target *
 os9k_object_p (abfd)
@@ -105,17 +106,19 @@ os9k_object_p (abfd)
   struct internal_exec anexec;
   mh_com exec_bytes;
 
-  if (bfd_read ((PTR) &exec_bytes, MHCOM_BYTES_SIZE, 1, abfd)
-      != MHCOM_BYTES_SIZE) {
-    bfd_set_error (bfd_error_wrong_format);
-    return 0;
-  }
+  if (bfd_read ((PTR) & exec_bytes, MHCOM_BYTES_SIZE, 1, abfd)
+      != MHCOM_BYTES_SIZE)
+    {
+      bfd_set_error (bfd_error_wrong_format);
+      return 0;
+    }
 
   anexec.a_info = bfd_h_get_16 (abfd, exec_bytes.m_sync);
-  if (N_BADMAG (anexec)) {
-    bfd_set_error (bfd_error_wrong_format);
-    return 0;
-  }
+  if (N_BADMAG (anexec))
+    {
+      bfd_set_error (bfd_error_wrong_format);
+      return 0;
+    }
 
   os9k_swap_exec_header_in (abfd, &exec_bytes, &anexec);
   return aout_32_some_aout_object_p (abfd, &anexec, os9k_callback);
@@ -133,7 +136,7 @@ os9k_callback (abfd)
   unsigned long bss_start;
 
   /* Architecture and machine type */
-  bfd_set_arch_mach(abfd, bfd_arch_i386, 0);
+  bfd_set_arch_mach (abfd, bfd_arch_i386, 0);
 
   /* The positions of the string table and symbol table.  */
   obj_str_filepos (abfd) = 0;
@@ -142,7 +145,7 @@ os9k_callback (abfd)
   /* The alignments of the sections */
   obj_textsec (abfd)->alignment_power = execp->a_talign;
   obj_datasec (abfd)->alignment_power = execp->a_dalign;
-  obj_bsssec  (abfd)->alignment_power = execp->a_balign;
+  obj_bsssec (abfd)->alignment_power = execp->a_balign;
 
   /* The starting addresses of the sections.  */
   obj_textsec (abfd)->vma = execp->a_tload;
@@ -151,7 +154,7 @@ os9k_callback (abfd)
   /* And reload the sizes, since the aout module zaps them */
   obj_textsec (abfd)->_raw_size = execp->a_text;
 
-  bss_start = execp->a_dload + execp->a_data; /* BSS = end of data section */
+  bss_start = execp->a_dload + execp->a_data;  /* BSS = end of data section */
   obj_bsssec (abfd)->vma = align_power (bss_start, execp->a_balign);
 
   /* The file positions of the sections */
@@ -163,17 +166,18 @@ os9k_callback (abfd)
   obj_datasec (abfd)->rel_filepos =  N_DROFF(*execp);
   */
 
-  adata(abfd).page_size = 1;   /* Not applicable. */
-  adata(abfd).segment_size = 1; /* Not applicable. */
-  adata(abfd).exec_bytes_size = MHCOM_BYTES_SIZE;
+  adata (abfd).page_size = 1;  /* Not applicable. */
+  adata (abfd).segment_size = 1;/* Not applicable. */
+  adata (abfd).exec_bytes_size = MHCOM_BYTES_SIZE;
 
   return abfd->xvec;
 }
 
 #if 0
-struct bout_data_struct {
-    struct aoutdata a;
-    struct internal_exec e;
+struct bout_data_struct
+{
+  struct aoutdata a;
+  struct internal_exec e;
 };
 
 static boolean
@@ -183,7 +187,8 @@ os9k_mkobject (abfd)
   struct bout_data_struct *rawptr;
 
   rawptr = (struct bout_data_struct *) bfd_zalloc (abfd, sizeof (struct bout_data_struct));
-  if (rawptr == NULL) {
+  if (rawptr == NULL)
+    {
       bfd_set_error (bfd_error_no_memory);
       return false;
     }
@@ -192,9 +197,9 @@ os9k_mkobject (abfd)
   exec_hdr (abfd) = &rawptr->e;
 
   /* For simplicity's sake we just make all the sections right here. */
-  obj_textsec (abfd) = (asection *)NULL;
-  obj_datasec (abfd) = (asection *)NULL;
-  obj_bsssec (abfd) = (asection *)NULL;
+  obj_textsec (abfd) = (asection *) NULL;
+  obj_datasec (abfd) = (asection *) NULL;
+  obj_bsssec (abfd) = (asection *) NULL;
 
   bfd_make_section (abfd, ".text");
   bfd_make_section (abfd, ".data");
@@ -217,9 +222,9 @@ os9k_write_object_contents (abfd)
   exec_hdr (abfd)->a_syms = bfd_get_symcount (abfd) * sizeof (struct nlist);
   exec_hdr (abfd)->a_entry = bfd_get_start_address (abfd);
   exec_hdr (abfd)->a_trsize = ((obj_textsec (abfd)->reloc_count) *
-                               sizeof (struct relocation_info));
+                              sizeof (struct relocation_info));
   exec_hdr (abfd)->a_drsize = ((obj_datasec (abfd)->reloc_count) *
-                               sizeof (struct relocation_info));
+                              sizeof (struct relocation_info));
 
   exec_hdr (abfd)->a_talign = obj_textsec (abfd)->alignment_power;
   exec_hdr (abfd)->a_dalign = obj_datasec (abfd)->alignment_power;
@@ -231,22 +236,24 @@ os9k_write_object_contents (abfd)
   bout_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr);
 
   bfd_seek (abfd, (file_ptr) 0, SEEK_SET);
-  bfd_write ((PTR) &swapped_hdr, 1, EXEC_BYTES_SIZE, abfd);
+  bfd_write ((PTR) & swapped_hdr, 1, EXEC_BYTES_SIZE, abfd);
 
   /* Now write out reloc info, followed by syms and strings */
-  if (bfd_get_symcount (abfd) != 0) 
+  if (bfd_get_symcount (abfd) != 0)
     {
-      bfd_seek (abfd, (file_ptr)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET);
+      bfd_seek (abfd, (file_ptr) (N_SYMOFF (*exec_hdr (abfd))), SEEK_SET);
 
-      if (! aout_32_write_syms (abfd))
+      if (!aout_32_write_syms (abfd))
        return false;
 
-      bfd_seek (abfd, (file_ptr)(N_TROFF(*exec_hdr(abfd))), SEEK_SET);
+      bfd_seek (abfd, (file_ptr) (N_TROFF (*exec_hdr (abfd))), SEEK_SET);
 
-      if (!b_out_squirt_out_relocs (abfd, obj_textsec (abfd))) return false;
-      bfd_seek (abfd, (file_ptr)(N_DROFF(*exec_hdr(abfd))), SEEK_SET);
+      if (!b_out_squirt_out_relocs (abfd, obj_textsec (abfd)))
+       return false;
+      bfd_seek (abfd, (file_ptr) (N_DROFF (*exec_hdr (abfd))), SEEK_SET);
 
-      if (!b_out_squirt_out_relocs (abfd, obj_datasec (abfd))) return false;
+      if (!b_out_squirt_out_relocs (abfd, obj_datasec (abfd)))
+       return false;
     }
   return true;
 }
@@ -257,37 +264,40 @@ os9k_set_section_contents (abfd, section, location, offset, count)
      sec_ptr section;
      unsigned char *location;
      file_ptr offset;
-      int count;
+     int count;
 {
 
-  if (abfd->output_has_begun == false) { /* set by bfd.c handler */
-    if ((obj_textsec (abfd) == NULL) || (obj_datasec (abfd) == NULL) /*||
-        (obj_textsec (abfd)->_cooked_size == 0) || (obj_datasec (abfd)->_cooked_size == 0)*/) {
-      bfd_set_error (bfd_error_invalid_operation);
-      return false;
-    }
+  if (abfd->output_has_begun == false)
+    {                          /* set by bfd.c handler */
+      if ((obj_textsec (abfd) == NULL) || (obj_datasec (abfd) == NULL) /*||
+                 (obj_textsec (abfd)->_cooked_size == 0) || (obj_datasec (abfd)->_cooked_size == 0)*/ )
+       {
+         bfd_set_error (bfd_error_invalid_operation);
+         return false;
+       }
 
-    obj_textsec (abfd)->filepos = sizeof(struct internal_exec);
-    obj_datasec(abfd)->filepos = obj_textsec(abfd)->filepos 
-                                 +  obj_textsec (abfd)->_raw_size;
+      obj_textsec (abfd)->filepos = sizeof (struct internal_exec);
+      obj_datasec (abfd)->filepos = obj_textsec (abfd)->filepos
+       + obj_textsec (abfd)->_raw_size;
 
-  }
+    }
   /* regardless, once we know what we're doing, we might as well get going */
   bfd_seek (abfd, section->filepos + offset, SEEK_SET);
 
-  if (count != 0) {
-    return (bfd_write ((PTR)location, 1, count, abfd) == count) ?true:false;
-  }
+  if (count != 0)
+    {
+      return (bfd_write ((PTR) location, 1, count, abfd) == count) ? true : false;
+    }
   return true;
 }
-#endif 0
+#endif /* 0 */
 
-static int 
-DEFUN(os9k_sizeof_headers,(ignore_abfd, ignore),
-      bfd *ignore_abfd AND
-      boolean ignore)
+static int
+os9k_sizeof_headers (ignore_abfd, ignore)
+     bfd *ignore_abfd;
+     boolean ignore;
 {
-  return sizeof(struct internal_exec);
+  return sizeof (struct internal_exec);
 }
 
 
@@ -328,34 +338,34 @@ DEFUN(os9k_sizeof_headers,(ignore_abfd, ignore),
 #define aout_32_bfd_reloc_type_lookup \
   ((CONST struct reloc_howto_struct *(*) PARAMS \
 ((bfd *, bfd_reloc_code_real_type))) bfd_nullvoidptr)
+#define aout_32_bfd_free_cached_info bfd_true
 
 bfd_target i386os9k_vec =
 {
-  "i386os9k",                          /* name */
+  "i386os9k",                  /* name */
   bfd_target_os9k_flavour,
-  false,                               /* data byte order is little */
-  false,                               /* hdr byte order is big */
+  false,                       /* data byte order is little */
+  false,                       /* hdr byte order is big */
   (HAS_RELOC | EXEC_P | WP_TEXT),      /* object flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD ), /* section flags */
-  0,                                   /* symbol leading char */
-  ' ',                                 /* ar_pad_char */
-  16,                                  /* ar_max_namelen */
-  2,                                   /* minumum alignment power */
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD),   /* section flags */
+  0,                           /* symbol leading char */
+  ' ',                         /* ar_pad_char */
+  16,                          /* ar_max_namelen */
+  2,                           /* minumum alignment power */
 
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* data */
+  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+  bfd_getl16, bfd_getl_signed_16, bfd_putl16,  /* data */
   bfd_getl64, bfd_getl_signed_64, bfd_putl64,
-     bfd_getl32, bfd_getl_signed_32, bfd_putl32,
-     bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* hdrs */
{_bfd_dummy_target, os9k_object_p, /* bfd_check_format */
+  bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+  bfd_getl16, bfd_getl_signed_16, bfd_putl16,  /* hdrs */
 {_bfd_dummy_target, os9k_object_p,   /* bfd_check_format */
    bfd_generic_archive_p, _bfd_dummy_target},
{bfd_false, bfd_false,        /* bfd_set_format */
 {bfd_false, bfd_false,       /* bfd_set_format */
    _bfd_generic_mkarchive, bfd_false},
{bfd_false, bfd_false, /* bfd_write_contents */
 {bfd_false, bfd_false,       /* bfd_write_contents */
    _bfd_write_archive_contents, bfd_false},
 
-  JUMP_TABLE(aout_32),
+  JUMP_TABLE (aout_32),
   (PTR) 0,
 };
-
index 24b394ef5ab1b17a45376d43810ff16a43285434..45c76e193c7930e12098c4dc6300c5183765a8d8 100644 (file)
@@ -3325,6 +3325,7 @@ ieee_bfd_debug_info_accumulate (abfd, section)
 #define ieee_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #define ieee_bfd_is_local_label bfd_generic_is_local_label
+#define ieee_bfd_free_cached_info bfd_true
 
 /*SUPPRESS 460 */
 bfd_target ieee_vec =
index 08f2a12145d216bf864ab6496c08cb52ab1371b6..279fb4a8ed5a19199c996abf8ac26bdfa91b01cc 100644 (file)
@@ -246,6 +246,7 @@ irix_core_make_empty_symbol (abfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define irix_core_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+#define irix_core_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 void
index f413837df0c5cb5152fd9379c82d031a3b2038f0..cbd9347cc7f658f55f97048b905b7ab18b083a8b 100644 (file)
@@ -276,18 +276,12 @@ extern struct bfd_link_hash_table *ecoff_bfd_link_hash_table_create
 extern boolean ecoff_bfd_link_add_symbols
   PARAMS ((bfd *, struct bfd_link_info *));
 extern boolean ecoff_bfd_final_link PARAMS ((bfd *, struct bfd_link_info *));
-
-#ifndef ecoff_bfd_copy_private_section_data
 #define ecoff_bfd_copy_private_section_data \
   ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
-#endif
-#ifndef ecoff_bfd_copy_private_bfd_data
 #define ecoff_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
-#endif
-#ifndef ecoff_bfd_is_local_label
 #define ecoff_bfd_is_local_label bfd_generic_is_local_label
-#endif
+#define ecoff_bfd_free_cached_info bfd_true
 
 /* Hook functions for the generic COFF section reading code.  */
 extern PTR ecoff_mkobject_hook PARAMS ((bfd *, PTR filehdr, PTR aouthdr));
index 147e4d4dfa5b77a842d27c05129c6ac7586c3bbf..4cbc8a72a91ac8214555079c07090236a9e39a58 100644 (file)
@@ -17,6 +17,82 @@ 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.  */
 
+#define nlm_core_file_p \
+  ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
+
+/* The JUMP_TABLE macro is used in the target structure to get names
+   for all the functions.  We use JUMP_TABLE(nlm) to get a prefix of
+   nlm for all the functions.  Here we redefine those names.  Many of
+   the functions are the same for any NLM target.  The others are
+   defined in terms of the nlmNAME macro.  */
+
+#define        nlm_core_file_failing_command \
+                               _bfd_dummy_core_file_failing_command
+#define        nlm_core_file_failing_signal \
+                               _bfd_dummy_core_file_failing_signal
+#define        nlm_core_file_matches_executable_p \
+                               _bfd_dummy_core_file_matches_executable_p
+#define nlm_slurp_armap                bfd_slurp_coff_armap
+#define nlm_slurp_extended_name_table \
+                               _bfd_slurp_extended_name_table
+#define nlm_truncate_arname    bfd_dont_truncate_arname
+#define        nlm_write_armap         coff_write_armap
+#define        nlm_close_and_cleanup   bfd_generic_close_and_cleanup
+#define nlm_set_section_contents \
+                               nlmNAME(set_section_contents)
+#define nlm_get_section_contents \
+                               bfd_generic_get_section_contents
+#define nlm_new_section_hook   _bfd_dummy_new_section_hook
+#define nlm_get_symtab_upper_bound \
+                               nlmNAME(get_symtab_upper_bound)
+#define nlm_get_symtab         nlmNAME(get_symtab)
+#define nlm_get_reloc_upper_bound \
+                               nlmNAME(get_reloc_upper_bound)
+#define nlm_canonicalize_reloc nlmNAME(canonicalize_reloc)
+#define nlm_make_empty_symbol  nlmNAME(make_empty_symbol)
+#define nlm_print_symbol       nlmNAME(print_symbol)
+#define nlm_get_symbol_info    nlmNAME(get_symbol_info)
+#define nlm_get_lineno         ((alent * (*) PARAMS ((bfd *, asymbol *))) \
+                                bfd_false)
+/* We use the generic function nlm_set_arch_mach.  */
+#define nlm_openr_next_archived_file \
+                               bfd_generic_openr_next_archived_file
+#define nlm_find_nearest_line \
+                               ((boolean (*) PARAMS ((bfd *, asection *, \
+                                                      asymbol **, bfd_vma, \
+                                                      CONST char **, \
+                                                      CONST char **, \
+                                                      unsigned int *))) \
+                                bfd_false)
+#define nlm_generic_stat_arch_elt \
+                               bfd_generic_stat_arch_elt
+#define nlm_sizeof_headers     ((int (*) PARAMS ((bfd *, boolean))) bfd_0u)
+#define nlm_bfd_debug_info_start \
+                               bfd_void
+#define nlm_bfd_debug_info_end bfd_void
+#define nlm_bfd_debug_info_accumulate \
+                               ((void (*) PARAMS ((bfd*, struct sec *))) \
+                                bfd_void)
+#define nlm_bfd_get_relocated_section_contents \
+                               bfd_generic_get_relocated_section_contents
+#define nlm_bfd_relax_section  bfd_generic_relax_section
+#define nlm_bfd_reloc_type_lookup \
+                               bfd_default_reloc_type_lookup
+#define nlm_bfd_make_debug_symbol \
+                               ((asymbol *(*) PARAMS ((bfd *, void *, \
+                                                       unsigned long))) \
+                                bfd_nullvoidptr)
+#define nlm_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
+#define nlm_bfd_link_add_symbols _bfd_generic_link_add_symbols
+#define nlm_bfd_final_link _bfd_generic_final_link
+
+#define nlm_bfd_copy_private_section_data \
+  ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)
+#define nlm_bfd_copy_private_bfd_data \
+  ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
+#define nlm_bfd_is_local_label bfd_generic_is_local_label
+#define nlm_bfd_free_cached_info bfd_true
+
 /* This structure contains everything that BFD knows about a target.
    It includes things like its byte order, name, what routines to call
    to do various operations, etc.  Every BFD points to a target structure
@@ -42,8 +118,8 @@ bfd_target TARGET_BIG_SYM =
   true,
 
   /* object_flags: mask of all file flags */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
-   DYNAMIC | WP_TEXT),
+  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
+   | WP_TEXT),
   
   /* section_flags: mask of all section flags */
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
@@ -69,20 +145,20 @@ bfd_target TARGET_BIG_SYM =
   3,
 
   /* Routines to byte-swap various sized integers from the data sections */
-  _do_getb64, _do_getb_signed_64, _do_putb64,
-    _do_getb32, _do_getb_signed_32, _do_putb32,
-    _do_getb16, _do_getb_signed_16, _do_putb16,
+  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
+    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+    bfd_getb16, bfd_getb_signed_16, bfd_putb16,
 
   /* Routines to byte-swap various sized integers from the file headers */
-  _do_getb64, _do_getb_signed_64, _do_putb64,
-    _do_getb32, _do_getb_signed_32, _do_putb32,
-    _do_getb16, _do_getb_signed_16, _do_putb16,
+  bfd_getb64, bfd_getb_signed_64, bfd_putb64,
+    bfd_getb32, bfd_getb_signed_32, bfd_putb32,
+    bfd_getb16, bfd_getb_signed_16, bfd_putb16,
 
   /* bfd_check_format: check the format of a file being read */
   { _bfd_dummy_target,         /* unknown format */
     nlmNAME(object_p),         /* assembler/linker output (object file) */
     bfd_generic_archive_p,     /* an archive */
-    nlmNAME(core_file_p)       /* a core file */
+    nlm_core_file_p            /* a core file */
   },
 
   /* bfd_set_format: set the format of a file being written */
@@ -101,10 +177,10 @@ bfd_target TARGET_BIG_SYM =
 
   /* Initialize a jump table with the standard macro.  All names start with
      "nlm" */
-  JUMP_TABLE(JUMP_TABLE_PREFIX),
+  JUMP_TABLE(nlm),
 
   /* backend_data: */
-  (PTR) NULL,
+  (PTR) TARGET_BACKEND_DATA
 };
 #endif
 
@@ -124,8 +200,8 @@ bfd_target TARGET_LITTLE_SYM =
   false,               /* Nope -- this one's little endian */
 
   /* object_flags: mask of all file flags */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
-   DYNAMIC | WP_TEXT),
+  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS
+   | WP_TEXT),
   
   /* section_flags: mask of all section flags */
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
@@ -151,20 +227,20 @@ bfd_target TARGET_LITTLE_SYM =
   3,
 
   /* Routines to byte-swap various sized integers from the data sections */
-  _do_getl64, _do_getl_signed_64, _do_putl64,
-    _do_getl32, _do_getl_signed_32, _do_putl32,
-    _do_getl16, _do_getl_signed_16, _do_putl16,
+  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+    bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
   /* Routines to byte-swap various sized integers from the file headers */
-  _do_getl64, _do_getl_signed_64, _do_putl64,
-    _do_getl32, _do_getl_signed_32, _do_putl32,
-    _do_getl16, _do_getl_signed_16, _do_putl16,
+  bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+    bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+    bfd_getl16, bfd_getl_signed_16, bfd_putl16,
 
   /* bfd_check_format: check the format of a file being read */
   { _bfd_dummy_target,         /* unknown format */
     nlmNAME(object_p),         /* assembler/linker output (object file) */
     bfd_generic_archive_p,     /* an archive */
-    nlmNAME(core_file_p)       /* a core file */
+    nlm_core_file_p            /* a core file */
   },
 
   /* bfd_set_format: set the format of a file being written */
@@ -183,9 +259,9 @@ bfd_target TARGET_LITTLE_SYM =
 
   /* Initialize a jump table with the standard macro.  All names start with
      "nlm" */
-  JUMP_TABLE(JUMP_TABLE_PREFIX),
+  JUMP_TABLE(nlm),
 
   /* backend_data: */
-  (PTR) NULL,
+  (PTR) TARGET_BACKEND_DATA
 };
 #endif
index a8f3bb891db762fbf61804eb936bdbf2b069dc25..e5388610ea35641ced4c2f884d7ea0d456a06c14 100644 (file)
@@ -1442,6 +1442,7 @@ oasys_sizeof_headers (abfd, exec)
 #define oasys_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #define oasys_bfd_is_local_label bfd_generic_is_local_label
+#define oasys_bfd_free_cached_info bfd_true
 
 /*SUPPRESS 460 */
 bfd_target oasys_vec =
index 33e4d4a2540e3321cc65a6c8e6f684c14e6e543f..28693dbc7261df34c7ae5ba38fa85555565798b4 100644 (file)
@@ -258,6 +258,7 @@ osf_core_core_file_matches_executable_p (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define osf_core_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+#define osf_core_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 static void
index bfc97e5f3c395ce49ab11be9e865fa646e5b22ba..ba9a54ac5608edd48655105def4945e5f2afb2b3 100644 (file)
@@ -255,6 +255,7 @@ ptrace_unix_core_file_matches_executable_p  (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define ptrace_unix_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
+#define ptrace_unix_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 void
index 98991e1bc2ffb8e033b7bae2929a6a09d5e67d1c..ac7057daf24bf0644b116d9d9ec794c4ac9261e6 100644 (file)
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -5464,6 +5464,7 @@ som_write_armap (abfd)
 #define som_bfd_link_hash_table_create _bfd_generic_link_hash_table_create
 #define som_bfd_link_add_symbols _bfd_generic_link_add_symbols
 #define som_bfd_final_link _bfd_generic_final_link
+#define som_bfd_free_cached_info bfd_true
 
 /* Core file support is in the hpux-core backend.  */
 #define som_core_file_failing_command  _bfd_dummy_core_file_failing_command
index 1f4a8bef72a9b964f6090abc0b81a9b5eaf4ec69..e79460cf6368343f3994083aecfa381f1a4b7940 100644 (file)
@@ -957,6 +957,7 @@ srec_print_symbol (ignore_abfd, afile, symbol, how)
 #define srec_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #define srec_bfd_is_local_label bfd_generic_is_local_label
+#define srec_bfd_free_cached_info bfd_true
 
 bfd_target srec_vec =
 {
index 0b45534aa7709d6d3987f6453037829c9259f2b0..c034c15632faa831b31f16b49680d0de6ab2ee93 100644 (file)
@@ -345,6 +345,9 @@ Symbols and relocations.
 .    section of the BFD.  *}
 . boolean (*_bfd_final_link) PARAMS ((bfd *, struct bfd_link_info *));
 .
+. {* Ask the BFD to free all cached information.  *}
+. boolean (*_bfd_free_cached_info) PARAMS ((bfd *));
+. 
 
 Data for use by back-end routines, which isn't generic enough to belong
 in this structure.
index 874a87e8a372394a1500b6c18f098306a3215b8a..cf9af54c51d8d6a1d69779f4d6fa8b6388de6f5c 100644 (file)
@@ -1028,6 +1028,7 @@ tekhex_print_symbol (ignore_abfd, filep, symbol, how)
 #define tekhex_bfd_copy_private_bfd_data \
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)
 #define tekhex_bfd_is_local_label bfd_generic_is_local_label
+#define tekhex_bfd_free_cached_info bfd_true
 
 bfd_target tekhex_vec =
 {
index 6d57bbb9bda6d216d1b785e191aa9cd530095f2f..1dbd88112a32a551e71a5ce596a69a72bf822672 100644 (file)
@@ -345,6 +345,7 @@ trad_unix_core_file_matches_executable_p  (core_bfd, exec_bfd)
   ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_false)
 #define trad_unix_bfd_is_local_label \
   ((boolean (*) PARAMS ((bfd *, asection *))) bfd_false)
+#define trad_unix_bfd_free_cached_info bfd_true
 
 /* If somebody calls any byte-swapping routines, shoot them.  */
 void