* nlm{32,64}-target.h: Remove.
authorFred Fish <fnf@specifix.com>
Thu, 22 Jul 1993 23:09:07 +0000 (23:09 +0000)
committerFred Fish <fnf@specifix.com>
Thu, 22 Jul 1993 23:09:07 +0000 (23:09 +0000)
* nlm-target.h:  New file, merged from nlm{32,64}-target.h
* libnlm.h (NLM_ARCH_SIZE):  Define to ARCH_SIZE.
* nlm.c (ARCH_SIZE):  Remove define to zero.
* nlm32-gen.c (ARCH_SIZE):  Define to 32.
* nlm32-gen.c (JUMP_TABLE_PREFIX):  Define to nlm32.
* nlm{32,64}-gen.c (nlm-target.h):  Include.
* targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c,
nlmcode.h:  Convert prefixes from bfd_nlm<size> to just
nlm<size>, and use macros select size.

bfd/.Sanitize
bfd/ChangeLog
bfd/nlm-target.h [new file with mode: 0644]
bfd/nlm32-gen.c
bfd/nlm32-target.h [deleted file]
bfd/nlm64-gen.c
bfd/nlm64-target.h [deleted file]

index c540471b06da332f3033ef03f52ac2d13ef5d768..fd5dedd9aaacc033c59d490b8ac891066af4db8d 100644 (file)
@@ -137,12 +137,11 @@ libnlm.h
 liboasys.h
 mipsbsd.c
 newsos3.c
+nlm-target.h
 nlm.c
 nlm32-gen.c
-nlm32-target.h
 nlm32.c
 nlm64-gen.c
-nlm64-target.h
 nlm64.c
 nlmcode.h
 oasys.c
index da67abe946c81fdd0121eaa471e8b2a9d38cc16a..6a25769c782ac3b0c4afef24ca2e91668bb5f8ba 100644 (file)
@@ -1,3 +1,16 @@
+Thu Jul 22 15:57:29 1993  Fred Fish  (fnf@deneb.cygnus.com)
+
+       * nlm{32,64}-target.h:  Remove.
+       * nlm-target.h:  New file, merged from nlm{32,64}-target.h
+       * libnlm.h (NLM_ARCH_SIZE):  Define to ARCH_SIZE.
+       * nlm.c (ARCH_SIZE):  Remove define to zero.
+       * nlm32-gen.c (ARCH_SIZE):  Define to 32.
+       * nlm32-gen.c (JUMP_TABLE_PREFIX):  Define to nlm32.
+       * nlm{32,64}-gen.c (nlm-target.h):  Include.
+       * targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c,
+       nlmcode.h:  Convert prefixes from bfd_nlm<size> to just
+       nlm<size>, and use macros select size.
+
 Thu Jul 22 15:40:14 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
 
        * Makefile.in (Makefile): add configure.in, drop redundant
diff --git a/bfd/nlm-target.h b/bfd/nlm-target.h
new file mode 100644 (file)
index 0000000..147e4d4
--- /dev/null
@@ -0,0 +1,191 @@
+/* Target definitions for 32/64-bit NLM (NetWare Loadable Module)
+   Copyright (C) 1993 Free Software Foundation, Inc.
+
+This file is part of BFD, the Binary File Descriptor library.
+
+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 2 of the License, or
+(at your option) any later version.
+
+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 this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* 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
+   with its "xvec" member.
+
+   There are two such structures here:  one for big-endian machines and
+   one for little-endian machines.   */
+
+
+#ifdef TARGET_BIG_SYM
+bfd_target TARGET_BIG_SYM =
+{
+  /* name: identify kind of target */
+  TARGET_BIG_NAME,
+
+  /* flavour: general indication about file */
+  bfd_target_nlm_flavour,
+
+  /* byteorder_big_p: data is big endian */
+  true,
+
+  /* header_byteorder_big_p: header is also big endian */
+  true,
+
+  /* object_flags: mask of all file flags */
+  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
+   DYNAMIC | WP_TEXT),
+  
+  /* section_flags: mask of all section flags */
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
+   SEC_CODE | SEC_DATA), 
+
+   /* leading_symbol_char: is the first char of a user symbol
+      predictable, and if so what is it */
+   0,
+
+  /* ar_pad_char: pad character for filenames within an archive header
+     FIXME:  this really has nothing to do with NLM, this is a characteristic
+     of the archiver and/or os and should be independently tunable */
+  '/',
+
+  /* ar_max_namelen: maximum number of characters in an archive header
+     FIXME:  this really has nothing to do with NLM, this is a characteristic
+     of the archiver and should be independently tunable.  This value is
+     a WAG (wild a** guess) */
+  15,
+
+  /* align_power_min: minimum alignment restriction for any section
+     FIXME:  this value may be target machine dependent */
+  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,
+
+  /* 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_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 */
+  },
+
+  /* bfd_set_format: set the format of a file being written */
+  { bfd_false,
+    nlm_mkobject,
+    _bfd_generic_mkarchive,
+    bfd_false
+  },
+
+  /* bfd_write_contents: write cached information into a file being written */
+  { bfd_false,
+    nlmNAME(write_object_contents),
+    _bfd_write_archive_contents,
+    bfd_false
+  },
+
+  /* Initialize a jump table with the standard macro.  All names start with
+     "nlm" */
+  JUMP_TABLE(JUMP_TABLE_PREFIX),
+
+  /* backend_data: */
+  (PTR) NULL,
+};
+#endif
+
+#ifdef TARGET_LITTLE_SYM
+bfd_target TARGET_LITTLE_SYM =
+{
+  /* name: identify kind of target */
+  TARGET_LITTLE_NAME,
+
+  /* flavour: general indication about file */
+  bfd_target_nlm_flavour,
+
+  /* byteorder_big_p: data is big endian */
+  false,               /* Nope -- this one's little endian */
+
+  /* header_byteorder_big_p: header is also big endian */
+  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),
+  
+  /* section_flags: mask of all section flags */
+  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
+   SEC_DATA), 
+
+   /* leading_symbol_char: is the first char of a user symbol
+      predictable, and if so what is it */
+   0,
+
+  /* ar_pad_char: pad character for filenames within an archive header
+     FIXME:  this really has nothing to do with NLM, this is a characteristic
+     of the archiver and/or os and should be independently tunable */
+  '/',
+
+  /* ar_max_namelen: maximum number of characters in an archive header
+     FIXME:  this really has nothing to do with NLM, this is a characteristic
+     of the archiver and should be independently tunable.  This value is
+     a WAG (wild a** guess) */
+  15,
+
+  /* align_power_min: minimum alignment restriction for any section
+     FIXME:  this value may be target machine dependent */
+  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,
+
+  /* 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_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 */
+  },
+
+  /* bfd_set_format: set the format of a file being written */
+  { bfd_false,
+    nlm_mkobject,
+    _bfd_generic_mkarchive,
+    bfd_false
+  },
+
+  /* bfd_write_contents: write cached information into a file being written */
+  { bfd_false,
+    nlmNAME(write_object_contents),
+    _bfd_write_archive_contents,
+    bfd_false
+  },
+
+  /* Initialize a jump table with the standard macro.  All names start with
+     "nlm" */
+  JUMP_TABLE(JUMP_TABLE_PREFIX),
+
+  /* backend_data: */
+  (PTR) NULL,
+};
+#endif
index 887621e473b425eba1c8b81f78607102d44db0da..94cd5c1ee885fe5e0b216f85a56f4f0a9507f58b 100644 (file)
@@ -20,16 +20,95 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "bfd.h"
 #include "sysdep.h"
 #include "libbfd.h"
+
+#define ARCH_SIZE 32
 #include "libnlm.h"
 
 /* This does not include any relocations, but should be good enough
    for GDB to read the file.  */
 
-#define TARGET_LITTLE_SYM              bfd_nlm32_little_generic_vec
 #define TARGET_LITTLE_NAME             "nlm32-little"
-#define TARGET_BIG_SYM                 bfd_nlm32_big_generic_vec
+#define TARGET_LITTLE_SYM              nlmNAME(little_generic_vec)
 #define TARGET_BIG_NAME                        "nlm32-big"
-#define NLM_ARCH                       bfd_arch_unknown
-#define bfd_nlm32_bfd_reloc_type_lookup bfd_default_reloc_type_lookup
+#define TARGET_BIG_SYM                 nlmNAME(big_generic_vec)
+#define JUMP_TABLE_PREFIX              nlm32
+
+/* We don't have core files.  */
+
+#define nlm32_core_file_p \
+  ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
+#define        nlm32_core_file_failing_command \
+  _bfd_dummy_core_file_failing_command
+#define        nlm32_core_file_failing_signal \
+  _bfd_dummy_core_file_failing_signal
+#define        nlm32_core_file_matches_executable_p \
+  _bfd_dummy_core_file_matches_executable_p
+
+/* Archives are generic or unimplemented.  */
+
+#define nlm32_slurp_armap \
+  bfd_slurp_coff_armap
+#define nlm32_slurp_extended_name_table \
+  _bfd_slurp_extended_name_table
+#define nlm32_truncate_arname \
+  bfd_dont_truncate_arname
+#define nlm32_openr_next_archived_file \
+  bfd_generic_openr_next_archived_file
+#define nlm32_generic_stat_arch_elt \
+  bfd_generic_stat_arch_elt
+#define        nlm32_write_armap \
+  coff_write_armap
+
+/* Ordinary section reading and writing */
+#define nlm32_get_section_contents \
+  bfd_generic_get_section_contents
+#define        nlm32_close_and_cleanup \
+  bfd_generic_close_and_cleanup
+
+#define nlm32_bfd_debug_info_start \
+  bfd_void
+#define nlm32_bfd_debug_info_end \
+  bfd_void
+#define nlm32_bfd_debug_info_accumulate \
+  (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
+#define nlm32_bfd_get_relocated_section_contents \
+  bfd_generic_get_relocated_section_contents
+#define nlm32_bfd_relax_section \
+  bfd_generic_relax_section
+#define nlm32_bfd_seclet_link \
+  bfd_generic_seclet_link
+#define nlm32_bfd_make_debug_symbol \
+  ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
+
+#define        nlm32_set_section_contents \
+  bfd_generic_set_section_contents
+#define nlm32_new_section_hook \
+  _bfd_dummy_new_section_hook
+
+#define nlm32_get_reloc_upper_bound \
+  ((unsigned int (*) PARAMS ((bfd *, sec_ptr))) bfd_0u)
+
+#define nlm32_canonicalize_reloc \
+  ((unsigned int (*) PARAMS ((bfd *, sec_ptr, arelent **, asymbol **))) bfd_0u)
+
+#define nlm32_print_symbol \
+  ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_false)
+
+#define nlm32_get_lineno \
+  ((alent * (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+
+#define nlm32_find_nearest_line \
+  ((boolean (*) PARAMS ((bfd *, asection *, asymbol **, bfd_vma, \
+                        CONST char **, CONST char **, unsigned int *))) \
+   bfd_false)
+
+#define nlm32_sizeof_headers \
+  ((int (*) PARAMS ((bfd *, boolean))) bfd_0u)
+
+#define nlm32_write_object_contents \
+  ((boolean (*) PARAMS ((bfd *))) bfd_false)
+
+#define nlm32_bfd_reloc_type_lookup \
+  bfd_default_reloc_type_lookup
 
-#include "nlm32-target.h"
+#include "nlm-target.h"
diff --git a/bfd/nlm32-target.h b/bfd/nlm32-target.h
deleted file mode 100644 (file)
index a830b8d..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Target definitions for 32-bit NLM (NetWare Loadable Module)
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-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 2 of the License, or
-(at your option) any later version.
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-/* 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
-   with its "xvec" member.
-
-   There are two such structures here:  one for big-endian machines and
-   one for little-endian machines.   */
-
-/* We don't have core files.  */
-
-#define bfd_nlm32_core_file_p \
-               ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
-#define        bfd_nlm32_core_file_failing_command \
-               _bfd_dummy_core_file_failing_command
-#define        bfd_nlm32_core_file_failing_signal \
-               _bfd_dummy_core_file_failing_signal
-#define        bfd_nlm32_core_file_matches_executable_p \
-               _bfd_dummy_core_file_matches_executable_p
-
-/* Archives are generic or unimplemented.  */
-
-#define bfd_nlm32_slurp_armap \
-               bfd_slurp_coff_armap
-#define bfd_nlm32_slurp_extended_name_table \
-               _bfd_slurp_extended_name_table
-#define bfd_nlm32_truncate_arname \
-               bfd_dont_truncate_arname
-#define bfd_nlm32_openr_next_archived_file \
-               bfd_generic_openr_next_archived_file
-#define bfd_nlm32_generic_stat_arch_elt \
-               bfd_generic_stat_arch_elt
-#define        bfd_nlm32_write_armap \
-               coff_write_armap
-
-/* Ordinary section reading and writing */
-#define bfd_nlm32_get_section_contents \
-               bfd_generic_get_section_contents
-#define        bfd_nlm32_close_and_cleanup \
-               bfd_generic_close_and_cleanup
-
-#define bfd_nlm32_bfd_debug_info_start \
-               bfd_void
-#define bfd_nlm32_bfd_debug_info_end \
-               bfd_void
-#define bfd_nlm32_bfd_debug_info_accumulate \
-               (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
-#define bfd_nlm32_bfd_get_relocated_section_contents \
-               bfd_generic_get_relocated_section_contents
-#define bfd_nlm32_bfd_relax_section \
-               bfd_generic_relax_section
-#define bfd_nlm32_bfd_seclet_link \
-               bfd_generic_seclet_link
-#define bfd_nlm32_bfd_make_debug_symbol \
-  ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
-
-#define        bfd_nlm32_set_section_contents \
-               bfd_generic_set_section_contents
-#define bfd_nlm32_new_section_hook \
-               _bfd_dummy_new_section_hook
-
-#define bfd_nlm32_get_reloc_upper_bound \
-  ((unsigned int (*) PARAMS ((bfd *, sec_ptr))) bfd_0u)
-
-#define bfd_nlm32_canonicalize_reloc \
-  ((unsigned int (*) PARAMS ((bfd *, sec_ptr, arelent **, asymbol **))) bfd_0u)
-
-#define bfd_nlm32_print_symbol \
-  ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_false)
-
-#define bfd_nlm32_get_lineno \
-  ((alent * (*) PARAMS ((bfd *, asymbol *))) bfd_false)
-
-#define bfd_nlm32_find_nearest_line \
-  ((boolean (*) PARAMS ((bfd *, asection *, asymbol **, bfd_vma, \
-                        CONST char **, CONST char **, unsigned int *))) \
-   bfd_false)
-
-#define bfd_nlm32_sizeof_headers \
-  ((int (*) PARAMS ((bfd *, boolean))) bfd_0u)
-
-#define bfd_nlm32_write_object_contents \
-  ((boolean (*) PARAMS ((bfd *))) bfd_false)
-
-#ifdef TARGET_BIG_SYM
-bfd_target TARGET_BIG_SYM =
-{
-  /* name: identify kind of target */
-  TARGET_BIG_NAME,
-
-  /* flavour: general indication about file */
-  bfd_target_nlm_flavour,
-
-  /* byteorder_big_p: data is big endian */
-  true,
-
-  /* header_byteorder_big_p: header is also big endian */
-  true,
-
-  /* object_flags: mask of all file flags */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
-   DYNAMIC | WP_TEXT),
-  
-  /* section_flags: mask of all section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_CODE | SEC_DATA), 
-
-   /* leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it */
-   0,
-
-  /* ar_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable */
-  '/',
-
-  /* ar_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess) */
-  15,
-
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  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,
-
-  /* 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_check_format: check the format of a file being read */
-  { _bfd_dummy_target,         /* unknown format */
-    bfd_nlm32_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
-    bfd_nlm32_core_file_p      /* a core file */
-  },
-
-  /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
-    bfd_nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
-    bfd_nlm32_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.  All names start with
-     "nlm" */
-  JUMP_TABLE(bfd_nlm32),
-
-  /* backend_data: */
-  (PTR) NULL,
-};
-#endif
-
-#ifdef TARGET_LITTLE_SYM
-bfd_target TARGET_LITTLE_SYM =
-{
-  /* name: identify kind of target */
-  TARGET_LITTLE_NAME,
-
-  /* flavour: general indication about file */
-  bfd_target_nlm_flavour,
-
-  /* byteorder_big_p: data is big endian */
-  false,               /* Nope -- this one's little endian */
-
-  /* header_byteorder_big_p: header is also big endian */
-  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),
-  
-  /* section_flags: mask of all section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_DATA), 
-
-   /* leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it */
-   0,
-
-  /* ar_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable */
-  '/',
-
-  /* ar_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess) */
-  15,
-
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  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,
-
-  /* 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_check_format: check the format of a file being read */
-  { _bfd_dummy_target,         /* unknown format */
-    bfd_nlm32_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
-    bfd_nlm32_core_file_p      /* a core file */
-  },
-
-  /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
-    bfd_nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
-    bfd_nlm32_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.  All names start with
-     "nlm" */
-  JUMP_TABLE(bfd_nlm32),
-
-  /* backend_data: */
-  (PTR) NULL,
-};
-#endif
index ff5464e63785b037971f098f0b9a11fd3022c3fc..e33e4ca084ee8885998a7dd608c8b69586c59368 100644 (file)
@@ -20,16 +20,95 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "bfd.h"
 #include "sysdep.h"
 #include "libbfd.h"
+
+#define ARCH_SIZE 64
 #include "libnlm.h"
 
 /* This does not include any relocations, but should be good enough
    for GDB to read the file.  */
 
-#define TARGET_LITTLE_SYM              bfd_nlm64_little_generic_vec
 #define TARGET_LITTLE_NAME             "nlm64-little"
-#define TARGET_BIG_SYM                 bfd_nlm64_big_generic_vec
+#define TARGET_LITTLE_SYM              nlmNAME(little_generic_vec)
 #define TARGET_BIG_NAME                        "nlm64-big"
-#define NLM_ARCH                       bfd_arch_unknown
-#define bfd_nlm64_bfd_reloc_type_lookup bfd_default_reloc_type_lookup
+#define TARGET_BIG_SYM                 nlmNAME(big_generic_vec)
+#define JUMP_TABLE_PREFIX              nlm32
+
+/* We don't have core files.  */
+
+#define nlm64_core_file_p \
+  ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
+#define        nlm64_core_file_failing_command \
+  _bfd_dummy_core_file_failing_command
+#define        nlm64_core_file_failing_signal \
+  _bfd_dummy_core_file_failing_signal
+#define        nlm64_core_file_matches_executable_p \
+  _bfd_dummy_core_file_matches_executable_p
+
+/* Archives are generic or unimplemented.  */
+
+#define nlm64_slurp_armap \
+  bfd_slurp_coff_armap
+#define nlm64_slurp_extended_name_table \
+  _bfd_slurp_extended_name_table
+#define nlm64_truncate_arname \
+  bfd_dont_truncate_arname
+#define nlm64_openr_next_archived_file \
+  bfd_generic_openr_next_archived_file
+#define nlm64_generic_stat_arch_elt \
+  bfd_generic_stat_arch_elt
+#define        nlm64_write_armap \
+  coff_write_armap
+
+/* Ordinary section reading and writing */
+#define nlm64_get_section_contents \
+  bfd_generic_get_section_contents
+#define        nlm64_close_and_cleanup \
+  bfd_generic_close_and_cleanup
+
+#define nlm64_bfd_debug_info_start \
+  bfd_void
+#define nlm64_bfd_debug_info_end \
+  bfd_void
+#define nlm64_bfd_debug_info_accumulate \
+  (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
+#define nlm64_bfd_get_relocated_section_contents \
+  bfd_generic_get_relocated_section_contents
+#define nlm64_bfd_relax_section \
+  bfd_generic_relax_section
+#define nlm64_bfd_seclet_link \
+  bfd_generic_seclet_link
+#define nlm64_bfd_make_debug_symbol \
+  ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
+
+#define        nlm64_set_section_contents \
+  bfd_generic_set_section_contents
+#define nlm64_new_section_hook \
+  _bfd_dummy_new_section_hook
+
+#define nlm64_get_reloc_upper_bound \
+  ((unsigned int (*) PARAMS ((bfd *, sec_ptr))) bfd_0u)
+
+#define nlm64_canonicalize_reloc \
+  ((unsigned int (*) PARAMS ((bfd *, sec_ptr, arelent **, asymbol **))) bfd_0u)
+
+#define nlm64_print_symbol \
+  ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_false)
+
+#define nlm64_get_lineno \
+  ((alent * (*) PARAMS ((bfd *, asymbol *))) bfd_false)
+
+#define nlm64_find_nearest_line \
+  ((boolean (*) PARAMS ((bfd *, asection *, asymbol **, bfd_vma, \
+                        CONST char **, CONST char **, unsigned int *))) \
+   bfd_false)
+
+#define nlm64_sizeof_headers \
+  ((int (*) PARAMS ((bfd *, boolean))) bfd_0u)
+
+#define nlm64_write_object_contents \
+  ((boolean (*) PARAMS ((bfd *))) bfd_false)
+
+#define nlm64_bfd_reloc_type_lookup \
+  bfd_default_reloc_type_lookup
 
-#include "nlm64-target.h"
+#include "nlm-target.h"
diff --git a/bfd/nlm64-target.h b/bfd/nlm64-target.h
deleted file mode 100644 (file)
index b836a0f..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Target definitions for 64-bit NLM (NetWare Loadable Module)
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-This file is part of BFD, the Binary File Descriptor library.
-
-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 2 of the License, or
-(at your option) any later version.
-
-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 this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-/* 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
-   with its "xvec" member.
-
-   There are two such structures here:  one for big-endian machines and
-   one for little-endian machines.   */
-
-/* We don't have core files.  */
-
-#define bfd_nlm64_core_file_p \
-               ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr)
-#define        bfd_nlm64_core_file_failing_command \
-               _bfd_dummy_core_file_failing_command
-#define        bfd_nlm64_core_file_failing_signal \
-               _bfd_dummy_core_file_failing_signal
-#define        bfd_nlm64_core_file_matches_executable_p \
-               _bfd_dummy_core_file_matches_executable_p
-
-/* Archives are generic or unimplemented.  */
-
-#define bfd_nlm64_slurp_armap \
-               bfd_slurp_coff_armap
-#define bfd_nlm64_slurp_extended_name_table \
-               _bfd_slurp_extended_name_table
-#define bfd_nlm64_truncate_arname \
-               bfd_dont_truncate_arname
-#define bfd_nlm64_openr_next_archived_file \
-               bfd_generic_openr_next_archived_file
-#define bfd_nlm64_generic_stat_arch_elt \
-               bfd_generic_stat_arch_elt
-#define        bfd_nlm64_write_armap \
-               coff_write_armap
-
-/* Ordinary section reading and writing */
-#define bfd_nlm64_get_section_contents \
-               bfd_generic_get_section_contents
-#define        bfd_nlm64_close_and_cleanup \
-               bfd_generic_close_and_cleanup
-
-#define bfd_nlm64_bfd_debug_info_start \
-               bfd_void
-#define bfd_nlm64_bfd_debug_info_end \
-               bfd_void
-#define bfd_nlm64_bfd_debug_info_accumulate \
-               (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
-#define bfd_nlm64_bfd_get_relocated_section_contents \
-               bfd_generic_get_relocated_section_contents
-#define bfd_nlm64_bfd_relax_section \
-               bfd_generic_relax_section
-#define bfd_nlm64_bfd_seclet_link \
-               bfd_generic_seclet_link
-#define bfd_nlm64_bfd_make_debug_symbol \
-  ((asymbol *(*) PARAMS ((bfd *, void *, unsigned long))) bfd_nullvoidptr)
-
-#define        bfd_nlm64_set_section_contents \
-               bfd_generic_set_section_contents
-#define bfd_nlm64_new_section_hook \
-               _bfd_dummy_new_section_hook
-
-#define bfd_nlm64_get_reloc_upper_bound \
-  ((unsigned int (*) PARAMS ((bfd *, sec_ptr))) bfd_0u)
-
-#define bfd_nlm64_canonicalize_reloc \
-  ((unsigned int (*) PARAMS ((bfd *, sec_ptr, arelent **, asymbol **))) bfd_0u)
-
-#define bfd_nlm64_print_symbol \
-  ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_false)
-
-#define bfd_nlm64_get_lineno \
-  ((alent * (*) PARAMS ((bfd *, asymbol *))) bfd_false)
-
-#define bfd_nlm64_find_nearest_line \
-  ((boolean (*) PARAMS ((bfd *, asection *, asymbol **, bfd_vma, \
-                        CONST char **, CONST char **, unsigned int *))) \
-   bfd_false)
-
-#define bfd_nlm64_sizeof_headers \
-  ((int (*) PARAMS ((bfd *, boolean))) bfd_0u)
-
-#define bfd_nlm64_write_object_contents \
-  ((boolean (*) PARAMS ((bfd *))) bfd_false)
-
-#ifdef TARGET_BIG_SYM
-bfd_target TARGET_BIG_SYM =
-{
-  /* name: identify kind of target */
-  TARGET_BIG_NAME,
-
-  /* flavour: general indication about file */
-  bfd_target_nlm_flavour,
-
-  /* byteorder_big_p: data is big endian */
-  true,
-
-  /* header_byteorder_big_p: header is also big endian */
-  true,
-
-  /* object_flags: mask of all file flags */
-  (HAS_RELOC | EXEC_P | HAS_LINENO | HAS_DEBUG | HAS_SYMS | HAS_LOCALS |
-   DYNAMIC | WP_TEXT),
-  
-  /* section_flags: mask of all section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_CODE | SEC_DATA), 
-
-   /* leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it */
-   0,
-
-  /* ar_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable */
-  '/',
-
-  /* ar_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess) */
-  15,
-
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  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,
-
-  /* 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_check_format: check the format of a file being read */
-  { _bfd_dummy_target,         /* unknown format */
-    bfd_nlm64_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
-    bfd_nlm64_core_file_p      /* a core file */
-  },
-
-  /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
-    bfd_nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
-    bfd_nlm64_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.  All names start with
-     "nlm" */
-  JUMP_TABLE(bfd_nlm64),
-
-  /* backend_data: */
-  (PTR) NULL,
-};
-#endif
-
-#ifdef TARGET_LITTLE_SYM
-bfd_target TARGET_LITTLE_SYM =
-{
-  /* name: identify kind of target */
-  TARGET_LITTLE_NAME,
-
-  /* flavour: general indication about file */
-  bfd_target_nlm_flavour,
-
-  /* byteorder_big_p: data is big endian */
-  false,               /* Nope -- this one's little endian */
-
-  /* header_byteorder_big_p: header is also big endian */
-  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),
-  
-  /* section_flags: mask of all section flags */
-  (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC | SEC_READONLY |
-   SEC_DATA), 
-
-   /* leading_symbol_char: is the first char of a user symbol
-      predictable, and if so what is it */
-   0,
-
-  /* ar_pad_char: pad character for filenames within an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and/or os and should be independently tunable */
-  '/',
-
-  /* ar_max_namelen: maximum number of characters in an archive header
-     FIXME:  this really has nothing to do with NLM, this is a characteristic
-     of the archiver and should be independently tunable.  This value is
-     a WAG (wild a** guess) */
-  15,
-
-  /* align_power_min: minimum alignment restriction for any section
-     FIXME:  this value may be target machine dependent */
-  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,
-
-  /* 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_check_format: check the format of a file being read */
-  { _bfd_dummy_target,         /* unknown format */
-    bfd_nlm64_object_p,                /* assembler/linker output (object file) */
-    bfd_generic_archive_p,     /* an archive */
-    bfd_nlm64_core_file_p      /* a core file */
-  },
-
-  /* bfd_set_format: set the format of a file being written */
-  { bfd_false,
-    bfd_nlm_mkobject,
-    _bfd_generic_mkarchive,
-    bfd_false
-  },
-
-  /* bfd_write_contents: write cached information into a file being written */
-  { bfd_false,
-    bfd_nlm64_write_object_contents,
-    _bfd_write_archive_contents,
-    bfd_false
-  },
-
-  /* Initialize a jump table with the standard macro.  All names start with
-     "nlm" */
-  JUMP_TABLE(bfd_nlm64),
-
-  /* backend_data: */
-  (PTR) NULL,
-};
-#endif