* aout-target.h: Make _bfd_slurp_extended_name_table be
authorPer Bothner <per@bothner.com>
Sat, 15 Aug 1992 02:27:58 +0000 (02:27 +0000)
committerPer Bothner <per@bothner.com>
Sat, 15 Aug 1992 02:27:58 +0000 (02:27 +0000)
the default.  Given that we *write* the suckers (for long
archive member names), we really ought to be able to read them!
* trad-core.c:  Don't include <machine/reg.h>.  It doesn't
seem to be needed, and many machines don't have it.

bfd/ChangeLog
bfd/aout-target.h

index 8499663c6104d856f38d6eb6592ec62c5a0d7581..c204d5e099032bc445e61cf79c7ea8fa72167a93 100644 (file)
@@ -1,3 +1,11 @@
+Fri Aug 14 19:22:18 1992  Per Bothner  (bothner@cygnus.com)
+
+       * aout-target.h:  Make _bfd_slurp_extended_name_table be
+       the default.  Given that we *write* the suckers (for long
+       archive member names), we really ought to be able to read them!
+       * trad-core.c:  Don't include <machine/reg.h>.  It doesn't
+       seem to be needed, and many machines don't have it.
+
 Thu Aug 13 09:53:39 1992  Steve Chamberlain  (sac@thepub.cygnus.com)
 
        * coff-m68k.c (vector): read and write archives in coff format.
index 868a9e605a63eb41b964a3058a5a24f6793ce8eb..46d1cbf6c0926298b950709a8e5cc4281a48a84a 100644 (file)
@@ -1,4 +1,4 @@
-/* Define a target vector for a variant of a.out.
+/* Define a target vector and some small routines for a variant of a.out.
    Copyright (C) 1990-1991 Free Software Foundation, Inc.
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -17,6 +17,11 @@ 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.  */
 
+#include "aout/aout64.h"
+#include "aout/stab_gnu.h"
+#include "aout/ar.h"
+/*#include "libaout.h"*/
+
 /* Set parameters about this a.out file that are machine-dependent.
    This routine is called from some_aout_object_p just before it returns.  */
 static bfd_target *
@@ -45,8 +50,7 @@ DEFUN(MY(callback),(abfd),
   obj_sym_filepos (abfd) = N_SYMOFF (*execp);
   obj_str_filepos (abfd) = N_STROFF (*execp);
   
-  /* Determine the architecture and machine type of the object file.
-   */
+  /* Determine the architecture and machine type of the object file.  */
 #ifdef SET_ARCH_MACH
   SET_ARCH_MACH(abfd, *execp);
 #else
@@ -145,7 +149,14 @@ DEFUN(MY(write_object_contents),(abfd),
   struct external_exec exec_bytes;
   struct internal_exec *execp = exec_hdr (abfd);
 
+#if CHOOSE_RELOC_SIZE
+  CHOOSE_RELOC_SIZE(abfd);
+#else
+  obj_reloc_entry_size (abfd) = RELOC_STD_SIZE;
+#endif
+
   WRITE_HEADERS(abfd, execp);
+
   return true;
 }
 #define MY_write_object_contents MY(write_object_contents)
@@ -162,7 +173,7 @@ DEFUN(MY(write_object_contents),(abfd),
 #define        MY_slurp_armap                  bfd_slurp_bsd_armap
 #endif
 #ifndef        MY_slurp_extended_name_table
-#define        MY_slurp_extended_name_table    bfd_true
+#define        MY_slurp_extended_name_table    _bfd_slurp_extended_name_table
 #endif
 #ifndef        MY_write_armap
 #define        MY_write_armap          bsd_write_armap
@@ -274,19 +285,33 @@ DEFUN(MY(write_object_contents),(abfd),
 #ifndef MY_bfd_debug_info_accumulat
 #define MY_bfd_debug_info_accumulat NAME(aout,bfd_debug_info_accumulat)
 #endif
+#ifndef MY_reloc_howto_type_lookup
+#define MY_reloc_howto_type_lookup 0
+#endif
+#ifndef MY_make_debug_symbol
+#define MY_make_debug_symbol 0
+#endif
+#ifndef MY_backend_data
+#define MY_backend_data (PTR) 0
+#endif
 
 bfd_target MY(vec) =
 {
   TARGETNAME,          /* name */
   bfd_target_aout_flavour,
-  true,                                /* target byte order */
-  true,                                /* target headers byte order */
+#ifdef TARGET_IS_BIG_ENDIAN_P
+  true,                                /* target byte order (big) */
+  true,                                /* target headers byte order (big) */
+#else
+  false,                       /* target byte order (little) */
+  false,                       /* target headers byte order (little) */
+#endif
   (HAS_RELOC | EXEC_P |                /* object flags */
    HAS_LINENO | HAS_DEBUG |
    HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
   ' ',                         /* ar_pad_char */
-  16,                          /* ar_max_namelen */
+  15,                          /* ar_max_namelen */
   1,                           /* minimum alignment */
 #ifdef TARGET_IS_BIG_ENDIAN_P
   _do_getb64, _do_putb64,      _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
@@ -328,5 +353,10 @@ bfd_target MY(vec) =
   MY_bfd_debug_info_start,
   MY_bfd_debug_info_end,
   MY_bfd_debug_info_accumulate,
-  bfd_generic_get_relocated_section_contents
+  bfd_generic_get_relocated_section_contents,
+  bfd_generic_relax_section,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,        /* COFF stuff?! */
+  MY_reloc_howto_type_lookup,
+  MY_make_debug_symbol,
+  (PTR) MY_backend_data,
 };