X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fnlm-target.h;h=02ba0315c8fd16809af15adf2e4985a67aad3ce0;hb=b3baf5d0a8293b5f823c0d7848494507edb373fb;hp=099d09506ef27097e449ec5cabaaa6868134c8ee;hpb=e98fe4f7b54cbdf29aef9287bbb1bea8801dd05a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/nlm-target.h b/bfd/nlm-target.h index 099d09506e..02ba0315c8 100644 --- a/bfd/nlm-target.h +++ b/bfd/nlm-target.h @@ -1,5 +1,5 @@ /* Target definitions for 32/64-bit NLM (NetWare Loadable Module) - Copyright (C) 1993, 1994 Free Software Foundation, Inc. + Copyright 1993, 1994, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -15,20 +15,21 @@ 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. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#define nlm_core_file_p \ - ((bfd_target *(*) PARAMS ((bfd *))) bfd_nullvoidptr) +#define nlm_core_file_p _bfd_dummy_target #define nlm_get_symtab_upper_bound nlmNAME(get_symtab_upper_bound) #define nlm_get_symtab nlmNAME(get_symtab) #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_bfd_is_local_label bfd_generic_is_local_label +#define nlm_bfd_is_local_label_name bfd_generic_is_local_label_name #define nlm_get_lineno _bfd_nosymbols_get_lineno #define nlm_find_nearest_line _bfd_nosymbols_find_nearest_line #define nlm_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol +#define nlm_read_minisymbols _bfd_generic_read_minisymbols +#define nlm_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol #define nlm_get_reloc_upper_bound nlmNAME(get_reloc_upper_bound) #define nlm_canonicalize_reloc nlmNAME(canonicalize_reloc) @@ -40,9 +41,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #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_gc_sections bfd_generic_gc_sections #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_link_split_section _bfd_generic_link_split_section /* This structure contains everything that BFD knows about a target. It includes things like its byte order, name, what routines to call @@ -52,9 +55,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ There are two such structures here: one for big-endian machines and one for little-endian machines. */ +/* Forward declaration for use when initialising alternative_target field. */ +#ifdef TARGET_LITTLE_SYM +extern const bfd_target TARGET_LITTLE_SYM; +#endif #ifdef TARGET_BIG_SYM -bfd_target TARGET_BIG_SYM = +const bfd_target TARGET_BIG_SYM = { /* name: identify kind of target */ TARGET_BIG_NAME, @@ -62,19 +69,19 @@ bfd_target TARGET_BIG_SYM = /* flavour: general indication about file */ bfd_target_nlm_flavour, - /* byteorder_big_p: data is big endian */ - true, + /* byteorder: data is big endian */ + BFD_ENDIAN_BIG, - /* header_byteorder_big_p: header is also big endian */ - true, + /* header_byteorder: header is also big endian */ + BFD_ENDIAN_BIG, /* object_flags: mask of all file flags */ (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 | - SEC_CODE | SEC_DATA), + SEC_CODE | SEC_DATA), /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ @@ -91,10 +98,6 @@ bfd_target TARGET_BIG_SYM = 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 */ bfd_getb64, bfd_getb_signed_64, bfd_putb64, bfd_getb32, bfd_getb_signed_32, bfd_putb32, @@ -138,13 +141,20 @@ bfd_target TARGET_BIG_SYM = BFD_JUMP_TABLE_LINK (nlm), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + /* Alternative endian target. */ +#ifdef TARGET_LITTLE_SYM + & TARGET_LITTLE_SYM, +#else + NULL, +#endif + /* backend_data: */ (PTR) TARGET_BACKEND_DATA }; #endif #ifdef TARGET_LITTLE_SYM -bfd_target TARGET_LITTLE_SYM = +const bfd_target TARGET_LITTLE_SYM = { /* name: identify kind of target */ TARGET_LITTLE_NAME, @@ -152,19 +162,19 @@ bfd_target TARGET_LITTLE_SYM = /* flavour: general indication about file */ bfd_target_nlm_flavour, - /* byteorder_big_p: data is big endian */ - false, /* Nope -- this one's little endian */ + /* byteorder: data is little endian */ + BFD_ENDIAN_LITTLE, - /* header_byteorder_big_p: header is also big endian */ - false, /* Nope -- this one's little endian */ + /* header_byteorder: header is also little endian */ + BFD_ENDIAN_LITTLE, /* object_flags: mask of all file flags */ (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 | - SEC_DATA), + SEC_DATA), /* leading_symbol_char: is the first char of a user symbol predictable, and if so what is it */ @@ -181,10 +191,6 @@ bfd_target TARGET_LITTLE_SYM = 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 */ bfd_getl64, bfd_getl_signed_64, bfd_putl64, bfd_getl32, bfd_getl_signed_32, bfd_putl32, @@ -228,6 +234,13 @@ bfd_target TARGET_LITTLE_SYM = BFD_JUMP_TABLE_LINK (nlm), BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), + /* Alternative endian target. */ +#ifdef TARGET_BIG_SYM + & TARGET_BIG_SYM, +#else + NULL, +#endif + /* backend_data: */ (PTR) TARGET_BACKEND_DATA };