* 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.
This commit is contained in:
Fred Fish 1993-07-22 23:09:07 +00:00
parent f261333bd3
commit d1f83f4494
6 changed files with 193 additions and 362 deletions

View File

@ -137,12 +137,11 @@ libnlm.h
liboasys.h liboasys.h
mipsbsd.c mipsbsd.c
newsos3.c newsos3.c
nlm-target.h
nlm.c nlm.c
nlm32-gen.c nlm32-gen.c
nlm32-target.h
nlm32.c nlm32.c
nlm64-gen.c nlm64-gen.c
nlm64-target.h
nlm64.c nlm64.c
nlmcode.h nlmcode.h
oasys.c oasys.c

View 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) Thu Jul 22 15:40:14 1993 K. Richard Pixley (rich@sendai.cygnus.com)
* Makefile.in (Makefile): add configure.in, drop redundant * Makefile.in (Makefile): add configure.in, drop redundant

View File

@ -1,4 +1,4 @@
/* Target definitions for 32-bit NLM (NetWare Loadable Module) /* Target definitions for 32/64-bit NLM (NetWare Loadable Module)
Copyright (C) 1993 Free Software Foundation, Inc. Copyright (C) 1993 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library. This file is part of BFD, the Binary File Descriptor library.
@ -25,80 +25,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
There are two such structures here: one for big-endian machines and There are two such structures here: one for big-endian machines and
one for little-endian machines. */ 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 #ifdef TARGET_BIG_SYM
bfd_target TARGET_BIG_SYM = bfd_target TARGET_BIG_SYM =
@ -154,28 +80,28 @@ bfd_target TARGET_BIG_SYM =
/* bfd_check_format: check the format of a file being read */ /* bfd_check_format: check the format of a file being read */
{ _bfd_dummy_target, /* unknown format */ { _bfd_dummy_target, /* unknown format */
bfd_nlm32_object_p, /* assembler/linker output (object file) */ nlmNAME(object_p), /* assembler/linker output (object file) */
bfd_generic_archive_p, /* an archive */ bfd_generic_archive_p, /* an archive */
bfd_nlm32_core_file_p /* a core file */ nlmNAME(core_file_p) /* a core file */
}, },
/* bfd_set_format: set the format of a file being written */ /* bfd_set_format: set the format of a file being written */
{ bfd_false, { bfd_false,
bfd_nlm_mkobject, nlm_mkobject,
_bfd_generic_mkarchive, _bfd_generic_mkarchive,
bfd_false bfd_false
}, },
/* bfd_write_contents: write cached information into a file being written */ /* bfd_write_contents: write cached information into a file being written */
{ bfd_false, { bfd_false,
bfd_nlm32_write_object_contents, nlmNAME(write_object_contents),
_bfd_write_archive_contents, _bfd_write_archive_contents,
bfd_false bfd_false
}, },
/* Initialize a jump table with the standard macro. All names start with /* Initialize a jump table with the standard macro. All names start with
"nlm" */ "nlm" */
JUMP_TABLE(bfd_nlm32), JUMP_TABLE(JUMP_TABLE_PREFIX),
/* backend_data: */ /* backend_data: */
(PTR) NULL, (PTR) NULL,
@ -236,28 +162,28 @@ bfd_target TARGET_LITTLE_SYM =
/* bfd_check_format: check the format of a file being read */ /* bfd_check_format: check the format of a file being read */
{ _bfd_dummy_target, /* unknown format */ { _bfd_dummy_target, /* unknown format */
bfd_nlm32_object_p, /* assembler/linker output (object file) */ nlmNAME(object_p), /* assembler/linker output (object file) */
bfd_generic_archive_p, /* an archive */ bfd_generic_archive_p, /* an archive */
bfd_nlm32_core_file_p /* a core file */ nlmNAME(core_file_p) /* a core file */
}, },
/* bfd_set_format: set the format of a file being written */ /* bfd_set_format: set the format of a file being written */
{ bfd_false, { bfd_false,
bfd_nlm_mkobject, nlm_mkobject,
_bfd_generic_mkarchive, _bfd_generic_mkarchive,
bfd_false bfd_false
}, },
/* bfd_write_contents: write cached information into a file being written */ /* bfd_write_contents: write cached information into a file being written */
{ bfd_false, { bfd_false,
bfd_nlm32_write_object_contents, nlmNAME(write_object_contents),
_bfd_write_archive_contents, _bfd_write_archive_contents,
bfd_false bfd_false
}, },
/* Initialize a jump table with the standard macro. All names start with /* Initialize a jump table with the standard macro. All names start with
"nlm" */ "nlm" */
JUMP_TABLE(bfd_nlm32), JUMP_TABLE(JUMP_TABLE_PREFIX),
/* backend_data: */ /* backend_data: */
(PTR) NULL, (PTR) NULL,

View File

@ -20,16 +20,95 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "bfd.h" #include "bfd.h"
#include "sysdep.h" #include "sysdep.h"
#include "libbfd.h" #include "libbfd.h"
#define ARCH_SIZE 32
#include "libnlm.h" #include "libnlm.h"
/* This does not include any relocations, but should be good enough /* This does not include any relocations, but should be good enough
for GDB to read the file. */ for GDB to read the file. */
#define TARGET_LITTLE_SYM bfd_nlm32_little_generic_vec
#define TARGET_LITTLE_NAME "nlm32-little" #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 TARGET_BIG_NAME "nlm32-big"
#define NLM_ARCH bfd_arch_unknown #define TARGET_BIG_SYM nlmNAME(big_generic_vec)
#define bfd_nlm32_bfd_reloc_type_lookup bfd_default_reloc_type_lookup #define JUMP_TABLE_PREFIX nlm32
#include "nlm32-target.h" /* 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 "nlm-target.h"

View File

@ -20,16 +20,95 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "bfd.h" #include "bfd.h"
#include "sysdep.h" #include "sysdep.h"
#include "libbfd.h" #include "libbfd.h"
#define ARCH_SIZE 64
#include "libnlm.h" #include "libnlm.h"
/* This does not include any relocations, but should be good enough /* This does not include any relocations, but should be good enough
for GDB to read the file. */ for GDB to read the file. */
#define TARGET_LITTLE_SYM bfd_nlm64_little_generic_vec
#define TARGET_LITTLE_NAME "nlm64-little" #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 TARGET_BIG_NAME "nlm64-big"
#define NLM_ARCH bfd_arch_unknown #define TARGET_BIG_SYM nlmNAME(big_generic_vec)
#define bfd_nlm64_bfd_reloc_type_lookup bfd_default_reloc_type_lookup #define JUMP_TABLE_PREFIX nlm32
#include "nlm64-target.h" /* 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 "nlm-target.h"

View File

@ -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