Back to index

cell-binutils  2.17cvs20070401
Defines | Functions | Variables
vms.c File Reference
#include "bfd.h"
#include "sysdep.h"
#include "bfdlink.h"
#include "libbfd.h"
#include "vms.h"

Go to the source code of this file.

Defines

#define vms_bfd_is_target_special_symbol   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
#define vms_make_empty_symbol   _bfd_generic_make_empty_symbol
#define vms_bfd_link_just_syms   _bfd_generic_link_just_syms
#define vms_bfd_is_group_section   bfd_generic_is_group_section
#define vms_bfd_discard_group   bfd_generic_discard_group
#define vms_section_already_linked   _bfd_generic_section_already_linked
#define vms_bfd_copy_private_header_data   _bfd_generic_bfd_copy_private_header_data
#define vms_get_synthetic_symtab   _bfd_nodynamic_get_synthetic_symtab
#define MINUS_ONE   (((bfd_vma)0) - 1)

Functions

static bfd_boolean vms_initialize (bfd *abfd)
static bfd_boolean fill_section_ptr (struct bfd_hash_entry *entry, void *sections)
static bfd_boolean vms_fixup_sections (bfd *abfd)
static struct bfd_targetvms_object_p (bfd *abfd)
static struct bfd_targetvms_archive_p (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_mkobject (bfd *abfd)
static bfd_boolean vms_write_object_contents (bfd *abfd)
static bfd_boolean vms_close_and_cleanup (bfd *abfd)
static bfd_boolean vms_bfd_free_cached_info (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_new_section_hook (bfd *abfd, asection *section)
static bfd_boolean vms_get_section_contents (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED, void *buf ATTRIBUTE_UNUSED, file_ptr offset ATTRIBUTE_UNUSED, bfd_size_type buf_size ATTRIBUTE_UNUSED)
static bfd_boolean vms_get_section_contents_in_window (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED, bfd_window *w ATTRIBUTE_UNUSED, file_ptr offset ATTRIBUTE_UNUSED, bfd_size_type count ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_copy_private_bfd_data (bfd *src ATTRIBUTE_UNUSED, bfd *dest ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_merge_private_bfd_data (bfd *ibfd ATTRIBUTE_UNUSED, bfd *obfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_set_private_flags (bfd *abfd ATTRIBUTE_UNUSED, flagword flags ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_copy_private_section_data (bfd *srcbfd ATTRIBUTE_UNUSED, asection *srcsec ATTRIBUTE_UNUSED, bfd *dstbfd ATTRIBUTE_UNUSED, asection *dstsec ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_copy_private_symbol_data (bfd *ibfd ATTRIBUTE_UNUSED, asymbol *isym ATTRIBUTE_UNUSED, bfd *obfd ATTRIBUTE_UNUSED, asymbol *osym ATTRIBUTE_UNUSED)
static char * vms_core_file_failing_command (bfd *abfd ATTRIBUTE_UNUSED)
static int vms_core_file_failing_signal (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_core_file_matches_executable_p (bfd *abfd ATTRIBUTE_UNUSED, bfd *bbfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_slurp_armap (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_slurp_extended_name_table (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_construct_extended_name_table (bfd *abfd ATTRIBUTE_UNUSED, char **tabloc ATTRIBUTE_UNUSED, bfd_size_type *tablen ATTRIBUTE_UNUSED, const char **name ATTRIBUTE_UNUSED)
static void vms_truncate_arname (bfd *abfd ATTRIBUTE_UNUSED, const char *pathname ATTRIBUTE_UNUSED, char *arhdr ATTRIBUTE_UNUSED)
static bfd_boolean vms_write_armap (bfd *arch ATTRIBUTE_UNUSED, unsigned int elength ATTRIBUTE_UNUSED, struct orl *map ATTRIBUTE_UNUSED, unsigned int orl_count ATTRIBUTE_UNUSED, int stridx ATTRIBUTE_UNUSED)
static void * vms_read_ar_hdr (bfd *abfd ATTRIBUTE_UNUSED)
static bfdvms_openr_next_archived_file (bfd *arch ATTRIBUTE_UNUSED, bfd *prev ATTRIBUTE_UNUSED)
static bfdvms_get_elt_at_index (bfd *abfd, symindex index)
static int vms_generic_stat_arch_elt (bfd *abfd, struct stat *st)
static bfd_boolean vms_update_armap_timestamp (bfd *abfd ATTRIBUTE_UNUSED)
static long vms_get_symtab_upper_bound (bfd *abfd)
static bfd_boolean copy_symbols (struct bfd_hash_entry *entry, void *arg)
static long vms_canonicalize_symtab (bfd *abfd, asymbol **symbols)
static void vms_print_symbol (bfd *abfd, void *file, asymbol *symbol, bfd_print_symbol_type how)
static void vms_get_symbol_info (bfd *abfd ATTRIBUTE_UNUSED, asymbol *symbol, symbol_info *ret)
static bfd_boolean vms_bfd_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name)
static alentvms_get_lineno (bfd *abfd ATTRIBUTE_UNUSED, asymbol *symbol ATTRIBUTE_UNUSED)
static bfd_boolean vms_find_nearest_line (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED, asymbol **symbols ATTRIBUTE_UNUSED, bfd_vma offset ATTRIBUTE_UNUSED, const char **file ATTRIBUTE_UNUSED, const char **func ATTRIBUTE_UNUSED, unsigned int *line ATTRIBUTE_UNUSED)
static bfd_boolean vms_find_inliner_info (bfd *abfd ATTRIBUTE_UNUSED, const char **file ATTRIBUTE_UNUSED, const char **func ATTRIBUTE_UNUSED, unsigned int *line ATTRIBUTE_UNUSED)
static asymbolvms_bfd_make_debug_symbol (bfd *abfd ATTRIBUTE_UNUSED, void *ptr ATTRIBUTE_UNUSED, unsigned long size ATTRIBUTE_UNUSED)
static long vms_read_minisymbols (bfd *abfd, bfd_boolean dynamic, void **minisymsp, unsigned int *sizep)
static asymbolvms_minisymbol_to_symbol (bfd *abfd, bfd_boolean dynamic, const void *minisym, asymbol *sym)
static long vms_get_reloc_upper_bound (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED)
static long vms_canonicalize_reloc (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED, arelent **location ATTRIBUTE_UNUSED, asymbol **symbols ATTRIBUTE_UNUSED)
static bfd_reloc_status_type reloc_nil (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc ATTRIBUTE_UNUSED, asymbol *sym ATTRIBUTE_UNUSED, void *data ATTRIBUTE_UNUSED, asection *sec ATTRIBUTE_UNUSED, bfd *output_bfd ATTRIBUTE_UNUSED, char **error_message ATTRIBUTE_UNUSED)
static struct reloc_howto_structvms_bfd_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, bfd_reloc_code_real_type code)
static reloc_howto_type * vms_bfd_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, const char *r_name)
static bfd_boolean vms_set_arch_mach (bfd *abfd, enum bfd_architecture arch ATTRIBUTE_UNUSED, unsigned long mach ATTRIBUTE_UNUSED)
static bfd_boolean vms_set_section_contents (bfd *abfd, asection *section, const void *location, file_ptr offset, bfd_size_type count)
static int vms_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *info ATTRIBUTE_UNUSED)
static bfd_bytevms_bfd_get_relocated_section_contents (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED, struct bfd_link_order *link_order ATTRIBUTE_UNUSED, bfd_byte *data ATTRIBUTE_UNUSED, bfd_boolean relocatable ATTRIBUTE_UNUSED, asymbol **symbols ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_relax_section (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED, bfd_boolean *again ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_gc_sections (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_merge_sections (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
static struct bfd_link_hash_tablevms_bfd_link_hash_table_create (bfd *abfd ATTRIBUTE_UNUSED)
static void vms_bfd_link_hash_table_free (struct bfd_link_hash_table *hash ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_link_add_symbols (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_final_link (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_link_split_section (bfd *abfd ATTRIBUTE_UNUSED, asection *section ATTRIBUTE_UNUSED)
static long vms_get_dynamic_symtab_upper_bound (bfd *abfd ATTRIBUTE_UNUSED)
static bfd_boolean vms_bfd_print_private_bfd_data (bfd *abfd ATTRIBUTE_UNUSED, void *file ATTRIBUTE_UNUSED)
static long vms_canonicalize_dynamic_symtab (bfd *abfd ATTRIBUTE_UNUSED, asymbol **symbols ATTRIBUTE_UNUSED)
static long vms_get_dynamic_reloc_upper_bound (bfd *abfd ATTRIBUTE_UNUSED)
static long vms_canonicalize_dynamic_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent **arel ATTRIBUTE_UNUSED, asymbol **symbols ATTRIBUTE_UNUSED)

Variables

static unsigned int priv_section_count
const bfd_target vms_vax_vec
const bfd_target vms_alpha_vec
static reloc_howto_type alpha_howto_table []

Define Documentation

#define MINUS_ONE   (((bfd_vma)0) - 1)

Definition at line 1100 of file vms.c.

Definition at line 35 of file vms.c.

Definition at line 33 of file vms.c.

Definition at line 32 of file vms.c.

Definition at line 29 of file vms.c.

Definition at line 31 of file vms.c.

Definition at line 36 of file vms.c.

Definition at line 30 of file vms.c.

Definition at line 34 of file vms.c.


Function Documentation

static bfd_boolean copy_symbols ( struct bfd_hash_entry entry,
void *  arg 
) [static]

Definition at line 807 of file vms.c.

{
  bfd * abfd = (bfd *) arg;

  if (entry == NULL) /* Init counter.  */
    PRIV (symnum) = 0;
  else               /* Fill vector, inc counter.  */
    PRIV (symcache)[PRIV (symnum)++] = ((vms_symbol_entry *)entry)->symbol;

  return TRUE;
}

Here is the caller graph for this function:

static bfd_boolean fill_section_ptr ( struct bfd_hash_entry entry,
void *  sections 
) [static]

Definition at line 123 of file vms.c.

{
  asection *sec;
  asymbol *sym;

  sym = ((vms_symbol_entry *) entry)->symbol;
  sec = sym->section;

#if VMS_DEBUG
  vms_debug (6, "fill_section_ptr: sym %p, sec %p\n", sym, sec);
#endif

  /* Fill forward references (these contain section number, not section ptr).  */
  if ((unsigned int) (size_t) sec < priv_section_count)
    sec = ((vms_symbol_entry *) entry)->symbol->section =
      ((asection **) sections)[(unsigned int) (size_t) sec];

  if (strcmp (sym->name, sec->name) == 0)
    sym->flags |= BSF_SECTION_SYM;

  return TRUE;
}

Here is the call graph for this function:

Here is the caller graph for this function:

static bfd_reloc_status_type reloc_nil ( bfd *abfd  ATTRIBUTE_UNUSED,
arelent *reloc  ATTRIBUTE_UNUSED,
asymbol *sym  ATTRIBUTE_UNUSED,
void *data  ATTRIBUTE_UNUSED,
asection *sec  ATTRIBUTE_UNUSED,
bfd *output_bfd  ATTRIBUTE_UNUSED,
char **error_message  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1075 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "reloc_nil (abfd %p, output_bfd %p)\n", abfd, output_bfd);
  vms_debug (2, "In section %s, symbol %s\n",
       sec->name, sym->name);
  vms_debug (2, "reloc sym %s, addr %08lx, addend %08lx, reloc is a %s\n",
              reloc->sym_ptr_ptr[0]->name,
              (unsigned long)reloc->address,
              (unsigned long)reloc->addend, reloc->howto->name);
  vms_debug (2, "data at %p\n", data);
  /*  _bfd_hexdump (2, data, bfd_get_reloc_size (reloc->howto), 0); */
#endif

  return bfd_reloc_ok;
}
static struct bfd_target* vms_archive_p ( bfd *abfd  ATTRIBUTE_UNUSED) [static, read]

Definition at line 329 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_archive_p (%p)\n", abfd);
#endif

  return NULL;
}
static bfd_boolean vms_bfd_copy_private_bfd_data ( bfd *src  ATTRIBUTE_UNUSED,
bfd *dest  ATTRIBUTE_UNUSED 
) [static]

Definition at line 539 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_copy_private_bfd_data (%p, %p)\n", src, dest);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_copy_private_section_data ( bfd *srcbfd  ATTRIBUTE_UNUSED,
asection *srcsec  ATTRIBUTE_UNUSED,
bfd *dstbfd  ATTRIBUTE_UNUSED,
asection *dstsec  ATTRIBUTE_UNUSED 
) [static]

Definition at line 586 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_copy_private_section_data (%p, %s, %p, %s)\n",
               srcbfd, srcsec->name, dstbfd, dstsec->name);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_copy_private_symbol_data ( bfd *ibfd  ATTRIBUTE_UNUSED,
asymbol *isym  ATTRIBUTE_UNUSED,
bfd *obfd  ATTRIBUTE_UNUSED,
asymbol *osym  ATTRIBUTE_UNUSED 
) [static]

Definition at line 602 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_copy_private_symbol_data (%p, %s, %p, %s)\n",
               ibfd, isym->name, obfd, osym->name);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_final_link ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1520 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_final_link (%p, %p)\n", abfd, link_info);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_free_cached_info ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 451 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_free_cached_info (%p)\n", abfd);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_gc_sections ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1463 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_gc_sections (%p, %p)\n", abfd, link_info);
#endif
  return TRUE;
}
static bfd_byte* vms_bfd_get_relocated_section_contents ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED,
struct bfd_link_order *link_order  ATTRIBUTE_UNUSED,
bfd_byte *data  ATTRIBUTE_UNUSED,
bfd_boolean relocatable  ATTRIBUTE_UNUSED,
asymbol **symbols  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1433 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_get_relocated_section_contents (%p, %p, %p, %p, %s, %p)\n",
            abfd, link_info, link_order, data, (relocatable)?"True":"False", symbols);
#endif
  return NULL;
}
static bfd_boolean vms_bfd_is_local_label_name ( bfd *abfd  ATTRIBUTE_UNUSED,
const char *  name 
) [static]

Definition at line 935 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_is_local_label_name (%p, %s)\n", abfd, name);
#endif
  return name[0] == '$';
}
static bfd_boolean vms_bfd_link_add_symbols ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1507 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_link_add_symbols (%p, %p)\n", abfd, link_info);
#endif
  return FALSE;
}
static struct bfd_link_hash_table* vms_bfd_link_hash_table_create ( bfd *abfd  ATTRIBUTE_UNUSED) [static, read]

Definition at line 1486 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_link_hash_table_create (%p)\n", abfd);
#endif
  return NULL;
}
static void vms_bfd_link_hash_table_free ( struct bfd_link_hash_table *hash  ATTRIBUTE_UNUSED) [static]

Definition at line 1497 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_link_hash_table_free (%p)\n", abfd);
#endif
}
static bfd_boolean vms_bfd_link_split_section ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1532 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_link_split_section (%p, %s)\n", abfd, section->name);
#endif
  return FALSE;
}
static asymbol* vms_bfd_make_debug_symbol ( bfd *abfd  ATTRIBUTE_UNUSED,
void *ptr  ATTRIBUTE_UNUSED,
unsigned long size  ATTRIBUTE_UNUSED 
) [static]

Definition at line 994 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_make_debug_symbol (%p, %p, %ld)\n", abfd, ptr, size);
#endif
  return NULL;
}
static bfd_boolean vms_bfd_merge_private_bfd_data ( bfd *ibfd  ATTRIBUTE_UNUSED,
bfd *obfd  ATTRIBUTE_UNUSED 
) [static]

Definition at line 556 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1,"vms_bfd_merge_private_bfd_data (%p, %p)\n", ibfd, obfd);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_merge_sections ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1473 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_merge_sections (%p, %p)\n", abfd, link_info);
#endif
  return TRUE;
}
static bfd_boolean vms_bfd_print_private_bfd_data ( bfd *abfd  ATTRIBUTE_UNUSED,
void *file  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1555 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_print_private_bfd_data (%p)\n", abfd);
#endif
  return FALSE;
}
static bfd_boolean vms_bfd_relax_section ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED,
struct bfd_link_info *link_info  ATTRIBUTE_UNUSED,
bfd_boolean *again  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1450 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_bfd_relax_section (%p, %s, %p, <ret>)\n",
            abfd, section->name, link_info);
#endif
  return TRUE;
}
static reloc_howto_type* vms_bfd_reloc_name_lookup ( bfd *abfd  ATTRIBUTE_UNUSED,
const char *  r_name 
) [static]

Definition at line 1357 of file vms.c.

{
  unsigned int i;

  for (i = 0;
       i < sizeof (alpha_howto_table) / sizeof (alpha_howto_table[0]);
       i++)
    if (alpha_howto_table[i].name != NULL
       && strcasecmp (alpha_howto_table[i].name, r_name) == 0)
      return &alpha_howto_table[i];

  return NULL;
}

Here is the call graph for this function:

static struct reloc_howto_struct* vms_bfd_reloc_type_lookup ( bfd *abfd  ATTRIBUTE_UNUSED,
bfd_reloc_code_real_type  code 
) [static, read]

Definition at line 1324 of file vms.c.

{
  int alpha_type;

#if VMS_DEBUG
  vms_debug (1, "vms_bfd_reloc_type_lookup (%p, %d)\t", abfd, code);
#endif

  switch (code)
    {
      case BFD_RELOC_16:           alpha_type = ALPHA_R_SREL16;       break;
      case BFD_RELOC_32:           alpha_type = ALPHA_R_REFLONG;      break;
      case BFD_RELOC_64:           alpha_type = ALPHA_R_REFQUAD;      break;
      case BFD_RELOC_CTOR:         alpha_type = ALPHA_R_REFQUAD;      break;
      case BFD_RELOC_23_PCREL_S2:  alpha_type = ALPHA_R_BRADDR;       break;
      case BFD_RELOC_ALPHA_HINT:   alpha_type = ALPHA_R_HINT;  break;
      case BFD_RELOC_16_PCREL:            alpha_type = ALPHA_R_SREL16;       break;
      case BFD_RELOC_32_PCREL:            alpha_type = ALPHA_R_SREL32;       break;
      case BFD_RELOC_64_PCREL:            alpha_type = ALPHA_R_SREL64;       break;
      case BFD_RELOC_ALPHA_LINKAGE:       alpha_type = ALPHA_R_LINKAGE;      break;
      case BFD_RELOC_ALPHA_CODEADDR:      alpha_type = ALPHA_R_CODEADDR;     break;
      default:
       (*_bfd_error_handler) ("reloc (%d) is *UNKNOWN*", code);
       return NULL;
    }
#if VMS_DEBUG
  vms_debug (2, "reloc is %s\n", alpha_howto_table[alpha_type].name);
#endif
  return & alpha_howto_table[alpha_type];
}
static bfd_boolean vms_bfd_set_private_flags ( bfd *abfd  ATTRIBUTE_UNUSED,
flagword flags  ATTRIBUTE_UNUSED 
) [static]

Definition at line 573 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1,"vms_bfd_set_private_flags (%p, %lx)\n", abfd, (long)flags);
#endif
  return TRUE;
}
static long vms_canonicalize_dynamic_reloc ( bfd *abfd  ATTRIBUTE_UNUSED,
arelent **arel  ATTRIBUTE_UNUSED,
asymbol **symbols  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1590 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_canonicalize_dynamic_reloc (%p)\n", abfd);
#endif
  return 0L;
}
static long vms_canonicalize_dynamic_symtab ( bfd *abfd  ATTRIBUTE_UNUSED,
asymbol **symbols  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1567 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_canonicalize_dynamic_symtab (%p, <ret>)\n", abfd);
#endif
  return 0L;
}
static long vms_canonicalize_reloc ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED,
arelent **location  ATTRIBUTE_UNUSED,
asymbol **symbols  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1059 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_canonicalize_reloc (%p, %s, <ret>, <ret>)\n", abfd, section->name);
#endif
  return FALSE;
}
static long vms_canonicalize_symtab ( bfd abfd,
asymbol **  symbols 
) [static]

Definition at line 825 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_canonicalize_symtab (%p, <ret>)\n", abfd);
#endif

  /* Init counter.  */
  copy_symbols (NULL, abfd);

  /* Traverse table and fill symbols vector.  */
  PRIV (symcache) = symbols;
  bfd_hash_traverse (PRIV (vms_symbol_table), copy_symbols, abfd);

  symbols[PRIV (gsd_sym_count)] = NULL;

  return PRIV (gsd_sym_count);
}

Here is the call graph for this function:

static bfd_boolean vms_close_and_cleanup ( bfd abfd) [static]

Definition at line 425 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_close_and_cleanup (%p)\n", abfd);
#endif
  if (abfd == NULL)
    return TRUE;

  if (PRIV (vms_buf) != NULL)
    free (PRIV (vms_buf));

  if (PRIV (sections) != NULL)
    free (PRIV (sections));

  if (PRIV (vms_symbol_table))
    bfd_hash_table_free (PRIV (vms_symbol_table));

  bfd_release (abfd, abfd->tdata.any);
  abfd->tdata.any = NULL;

  return TRUE;
}

Here is the call graph for this function:

static bfd_boolean vms_construct_extended_name_table ( bfd *abfd  ATTRIBUTE_UNUSED,
char **tabloc  ATTRIBUTE_UNUSED,
bfd_size_type *tablen  ATTRIBUTE_UNUSED,
const char **name  ATTRIBUTE_UNUSED 
) [static]

Definition at line 683 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_construct_extended_name_table (%p)\n", abfd);
#endif
  return FALSE;
}
static char* vms_core_file_failing_command ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 620 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_core_file_failing_command (%p)\n", abfd);
#endif
  return NULL;
}
static int vms_core_file_failing_signal ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 632 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_core_file_failing_signal (%p)\n", abfd);
#endif
  return 0;
}
static bfd_boolean vms_core_file_matches_executable_p ( bfd *abfd  ATTRIBUTE_UNUSED,
bfd *bbfd  ATTRIBUTE_UNUSED 
) [static]

Definition at line 644 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_core_file_matches_executable_p (%p, %p)\n", abfd, bbfd);
#endif
  return FALSE;
}
static bfd_boolean vms_find_inliner_info ( bfd *abfd  ATTRIBUTE_UNUSED,
const char **file  ATTRIBUTE_UNUSED,
const char **func  ATTRIBUTE_UNUSED,
unsigned int *line  ATTRIBUTE_UNUSED 
) [static]

Definition at line 977 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_find_inliner_info (%p, <ret>, <ret>, <ret>)\n",
            abfd);
#endif
  return FALSE;
}
static bfd_boolean vms_find_nearest_line ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED,
asymbol **symbols  ATTRIBUTE_UNUSED,
bfd_vma offset  ATTRIBUTE_UNUSED,
const char **file  ATTRIBUTE_UNUSED,
const char **func  ATTRIBUTE_UNUSED,
unsigned int *line  ATTRIBUTE_UNUSED 
) [static]

Definition at line 961 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_find_nearest_line (%p, %s, %p, %ld, <ret>, <ret>, <ret>)\n",
             abfd, section->name, symbols, (long int)offset);
#endif
  return FALSE;
}
static bfd_boolean vms_fixup_sections ( bfd abfd) [static]

Definition at line 156 of file vms.c.

{
  if (PRIV (fixup_done))
    return TRUE;

  /* Traverse symbol table and fill in all section pointers.  */

  /* Can't provide section count as argument to fill_section_ptr().  */
  priv_section_count = PRIV (section_count);
  bfd_hash_traverse (PRIV (vms_symbol_table), fill_section_ptr, (PRIV (sections)));

  PRIV (fixup_done) = TRUE;

  return TRUE;
}

Here is the call graph for this function:

Here is the caller graph for this function:

static int vms_generic_stat_arch_elt ( bfd abfd,
struct stat st 
) [static]

Definition at line 766 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_generic_stat_arch_elt (%p, %p)\n", abfd, st);
#endif
  return bfd_generic_stat_arch_elt (abfd, st);
}

Here is the call graph for this function:

static long vms_get_dynamic_reloc_upper_bound ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 1579 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_dynamic_reloc_upper_bound (%p)\n", abfd);
#endif
  return 0L;
}
static long vms_get_dynamic_symtab_upper_bound ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 1546 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_dynamic_symtab_upper_bound (%p)\n", abfd);
#endif
  return 0;
}
static bfd* vms_get_elt_at_index ( bfd abfd,
symindex  index 
) [static]

Definition at line 754 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_elt_at_index (%p, %p)\n", abfd, index);
#endif
  return _bfd_generic_get_elt_at_index (abfd, index);
}

Here is the call graph for this function:

static alent* vms_get_lineno ( bfd *abfd  ATTRIBUTE_UNUSED,
asymbol *symbol  ATTRIBUTE_UNUSED 
) [static]

Definition at line 947 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_lineno (%p, %p)\n", abfd, symbol);
#endif
  return NULL;
}
static long vms_get_reloc_upper_bound ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1043 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_reloc_upper_bound (%p, %s)\n", abfd, section->name);
#endif
  return -1L;
}
static bfd_boolean vms_get_section_contents ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED,
void *buf  ATTRIBUTE_UNUSED,
file_ptr offset  ATTRIBUTE_UNUSED,
bfd_size_type buf_size  ATTRIBUTE_UNUSED 
) [static]

Definition at line 498 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_section_contents (%p, %s, %p, off %ld, size %d)\n",
               abfd, section->name, buf, offset, (int)buf_size);
#endif

  /* Shouldn't be called, since all sections are IN_MEMORY.  */
  return FALSE;
}
static bfd_boolean vms_get_section_contents_in_window ( bfd *abfd  ATTRIBUTE_UNUSED,
asection *section  ATTRIBUTE_UNUSED,
bfd_window *w  ATTRIBUTE_UNUSED,
file_ptr offset  ATTRIBUTE_UNUSED,
bfd_size_type count  ATTRIBUTE_UNUSED 
) [static]

Definition at line 518 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_section_contents_in_window (%p, %s, %p, off %ld, count %d)\n",
               abfd, section->name, w, offset, (int)count);
#endif

  /* Shouldn't be called, since all sections are IN_MEMORY.  */
  return FALSE;
}

Here is the call graph for this function:

static void vms_get_symbol_info ( bfd *abfd  ATTRIBUTE_UNUSED,
asymbol symbol,
symbol_info ret 
) [static]

Definition at line 892 of file vms.c.

{
  asection *sec;

#if VMS_DEBUG
  vms_debug (1, "vms_get_symbol_info (%p, %p, %p)\n", abfd, symbol, ret);
#endif

  sec = symbol->section;

  if (ret == NULL)
    return;

  if (bfd_is_com_section (sec))
    ret->type = 'C';
  else if (bfd_is_abs_section (sec))
    ret->type = 'A';
  else if (bfd_is_und_section (sec))
    ret->type = 'U';
  else if (bfd_is_ind_section (sec))
    ret->type = 'I';
  else if (bfd_get_section_flags (abfd, sec) & SEC_CODE)
    ret->type = 'T';
  else if (bfd_get_section_flags (abfd, sec) & SEC_DATA)
    ret->type = 'D';
  else if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC)
    ret->type = 'B';
  else
    ret->type = '-';

  if (ret->type != 'U')
    ret->value = symbol->value + symbol->section->vma;
  else
    ret->value = 0;
  ret->name = symbol->name;
}
static long vms_get_symtab_upper_bound ( bfd abfd) [static]

Definition at line 793 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_get_symtab_upper_bound (%p), %d symbols\n", abfd, PRIV (gsd_sym_count));
#endif
  return (PRIV (gsd_sym_count) + 1) * sizeof (asymbol *);
}
static bfd_boolean vms_initialize ( bfd abfd) [static]

Definition at line 45 of file vms.c.

{
  int i;
  bfd_size_type amt;

  bfd_set_start_address (abfd, (bfd_vma) -1);

  amt = sizeof (struct vms_private_data_struct);
  abfd->tdata.any = bfd_alloc (abfd, amt);
  if (abfd->tdata.any == NULL)
    return FALSE;

#ifdef __ALPHA
  PRIV (is_vax) = FALSE;
#else
  PRIV (is_vax) = TRUE;
#endif
  PRIV (vms_buf) = NULL;
  PRIV (buf_size) = 0;
  PRIV (rec_length) = 0;
  PRIV (file_format) = FF_UNKNOWN;
  PRIV (fixup_done) = FALSE;
  PRIV (sections) = NULL;

  amt = sizeof (struct stack_struct) * STACKSIZE;
  PRIV (stack) = bfd_alloc (abfd, amt);
  if (PRIV (stack) == NULL)
    goto error_ret1;
  PRIV (stackptr) = 0;

  amt = sizeof (struct bfd_hash_table);
  PRIV (vms_symbol_table) = bfd_alloc (abfd, amt);
  if (PRIV (vms_symbol_table) == NULL)
    goto error_ret1;

  if (!bfd_hash_table_init (PRIV (vms_symbol_table), _bfd_vms_hash_newfunc,
                         sizeof (vms_symbol_entry)))
    goto error_ret1;

  amt = sizeof (struct location_struct) * LOCATION_SAVE_SIZE;
  PRIV (location_stack) = bfd_alloc (abfd, amt);
  if (PRIV (location_stack) == NULL)
    goto error_ret2;

  for (i = 0; i < VMS_SECTION_COUNT; i++)
    PRIV (vms_section_table)[i] = NULL;

  amt = MAX_OUTREC_SIZE;
  PRIV (output_buf) = bfd_alloc (abfd, amt);
  if (PRIV (output_buf) == NULL)
    goto error_ret2;

  PRIV (push_level) = 0;
  PRIV (pushed_size) = 0;
  PRIV (length_pos) = 2;
  PRIV (output_size) = 0;
  PRIV (output_alignment) = 1;

  return TRUE;

 error_ret2:
  bfd_hash_table_free (PRIV (vms_symbol_table));
 error_ret1:
  bfd_release (abfd, abfd->tdata.any);
  abfd->tdata.any = NULL;
  return FALSE;
}

Here is the call graph for this function:

Here is the caller graph for this function:

static asymbol* vms_minisymbol_to_symbol ( bfd abfd,
bfd_boolean  dynamic,
const void *  minisym,
asymbol sym 
) [static]

Definition at line 1025 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_minisymbol_to_symbol (%p, %d, %p, %p)\n", abfd, dynamic, minisym, sym);
#endif
  return _bfd_generic_minisymbol_to_symbol (abfd, dynamic, minisym, sym);
}

Here is the call graph for this function:

static bfd_boolean vms_mkobject ( bfd abfd) [static]

Definition at line 341 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_mkobject (%p)\n", abfd);
#endif

  if (!vms_initialize (abfd))
    return FALSE;

  {
#ifdef __VAX
    const bfd_arch_info_type *arch = bfd_scan_arch ("vax");
#else
    const bfd_arch_info_type *arch = bfd_scan_arch ("alpha");
#endif
    if (arch == NULL)
      {
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
      }
    abfd->arch_info = arch;
  }

  return TRUE;
}

Here is the call graph for this function:

static bfd_boolean vms_new_section_hook ( bfd abfd,
asection section 
) [static]

Definition at line 462 of file vms.c.

{
  /* Count hasn't been incremented yet.  */
  unsigned int section_count = abfd->section_count + 1;

#if VMS_DEBUG
  vms_debug (1, "vms_new_section_hook (%p, [%d]%s), count %d\n",
            abfd, section->index, section->name, section_count);
#endif
  bfd_set_section_alignment (abfd, section, 4);

  if (section_count > PRIV (section_count))
    {
      bfd_size_type amt = section_count;
      amt *= sizeof (asection *);
      PRIV (sections) = bfd_realloc (PRIV (sections), amt);
      if (PRIV (sections) == NULL)
       return FALSE;
      PRIV (section_count) = section_count;
    }
#if VMS_DEBUG
  vms_debug (6, "section_count: %d\n", PRIV (section_count));
#endif
  PRIV (sections)[section->index] = section;
#if VMS_DEBUG
  vms_debug (7, "%d: %s\n", section->index, section->name);
#endif

  return _bfd_generic_new_section_hook (abfd, section);
}

Here is the call graph for this function:

static struct bfd_target* vms_object_p ( bfd abfd) [static, read]

Definition at line 176 of file vms.c.

{
  int err = 0;
  int prev_type;
  const struct bfd_target *target_vector = NULL;
  const bfd_arch_info_type *arch = NULL;
  void * tdata_save = abfd->tdata.any;
  bfd_vma saddr_save = bfd_get_start_address (abfd);

#if VMS_DEBUG
  vms_debug (1, "vms_object_p (%p)\n", abfd);
#endif

  if (!vms_initialize (abfd))
    goto error_ret;

  if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET))
    goto err_wrong_format;

  prev_type = -1;

  do
    {
#if VMS_DEBUG
      vms_debug (7, "reading at %08lx\n", bfd_tell (abfd));
#endif
      if (_bfd_vms_next_record (abfd) < 0)
       {
#if VMS_DEBUG
         vms_debug (2, "next_record failed\n");
#endif
         goto err_wrong_format;
       }

      if ((prev_type == EOBJ_S_C_EGSD)
          && (PRIV (rec_type) != EOBJ_S_C_EGSD))
       {
         if (! vms_fixup_sections (abfd))
           {
#if VMS_DEBUG
             vms_debug (2, "vms_fixup_sections failed\n");
#endif
             goto err_wrong_format;
           }
       }

      prev_type = PRIV (rec_type);

      if (target_vector == NULL)
       {
         if (prev_type <= OBJ_S_C_MAXRECTYP)
           target_vector = & vms_vax_vec;
         else
           target_vector = & vms_alpha_vec;
       }

      switch (prev_type)
       {
         case OBJ_S_C_HDR:
         case EOBJ_S_C_EMH:
           err = _bfd_vms_slurp_hdr (abfd, prev_type);
           break;
         case OBJ_S_C_EOM:
         case OBJ_S_C_EOMW:
         case EOBJ_S_C_EEOM:
           err = _bfd_vms_slurp_eom (abfd, prev_type);
           break;
         case OBJ_S_C_GSD:
         case EOBJ_S_C_EGSD:
           err = _bfd_vms_slurp_gsd (abfd, prev_type);
           break;
         case OBJ_S_C_TIR:
         case EOBJ_S_C_ETIR:
           err = _bfd_vms_slurp_tir (abfd, prev_type);
           break;
         case OBJ_S_C_DBG:
         case EOBJ_S_C_EDBG:
           err = _bfd_vms_slurp_dbg (abfd, prev_type);
           break;
         case OBJ_S_C_TBT:
         case EOBJ_S_C_ETBT:
           err = _bfd_vms_slurp_tbt (abfd, prev_type);
           break;
         case OBJ_S_C_LNK:
           err = _bfd_vms_slurp_lnk (abfd, prev_type);
           break;
         default:
           err = -1;
       }
      if (err != 0)
       {
#if VMS_DEBUG
         vms_debug (2, "slurp type %d failed with %d\n", prev_type, err);
#endif
         goto err_wrong_format;
       }
    }
  while ((prev_type != EOBJ_S_C_EEOM) && (prev_type != OBJ_S_C_EOM) && (prev_type != OBJ_S_C_EOMW));

  if (target_vector == & vms_vax_vec)
    {
      if (! vms_fixup_sections (abfd))
       {
#if VMS_DEBUG
         vms_debug (2, "vms_fixup_sections failed\n");
#endif
         goto err_wrong_format;
       }

      /* Set arch_info to vax.  */

      arch = bfd_scan_arch ("vax");
      PRIV (is_vax) = TRUE;
#if VMS_DEBUG
      vms_debug (2, "arch is vax\n");
#endif
    }
  else if (target_vector == & vms_alpha_vec)
    {
      /* Set arch_info to alpha.   */

      arch = bfd_scan_arch ("alpha");
      PRIV (is_vax) = FALSE;
#if VMS_DEBUG
      vms_debug (2, "arch is alpha\n");
#endif
    }

  if (arch == NULL)
    {
#if VMS_DEBUG
      vms_debug (2, "arch not found\n");
#endif
      goto err_wrong_format;
    }
  abfd->arch_info = arch;

  return target_vector;

 err_wrong_format:
  bfd_set_error (bfd_error_wrong_format);
 error_ret:
  if (abfd->tdata.any != tdata_save && abfd->tdata.any != NULL)
    bfd_release (abfd, abfd->tdata.any);
  abfd->tdata.any = tdata_save;
  bfd_set_start_address (abfd, saddr_save);
  return NULL;
}

Here is the call graph for this function:

static bfd* vms_openr_next_archived_file ( bfd *arch  ATTRIBUTE_UNUSED,
bfd *prev  ATTRIBUTE_UNUSED 
) [static]

Definition at line 741 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_openr_next_archived_file (%p, %p)\n", arch, prev);
#endif
  return NULL;
}
static void vms_print_symbol ( bfd abfd,
void *  file,
asymbol symbol,
bfd_print_symbol_type  how 
) [static]

Definition at line 849 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_print_symbol (%p, %p, %p, %d)\n", abfd, file, symbol, how);
#endif

  switch (how)
    {
      case bfd_print_symbol_name:
      case bfd_print_symbol_more:
       fprintf ((FILE *)file," %s", symbol->name);
      break;

      case bfd_print_symbol_all:
       {
         const char *section_name = symbol->section->name;

         bfd_print_symbol_vandf (abfd, file, symbol);

         fprintf ((FILE *) file," %-8s %s", section_name, symbol->name);
        }
      break;
    }
}

Here is the call graph for this function:

static void* vms_read_ar_hdr ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 726 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_read_ar_hdr (%p)\n", abfd);
#endif
  return NULL;
}
static long vms_read_minisymbols ( bfd abfd,
bfd_boolean  dynamic,
void **  minisymsp,
unsigned int sizep 
) [static]

Definition at line 1009 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_read_minisymbols (%p, %d, %p, %d)\n", abfd, dynamic, minisymsp, *sizep);
#endif
  return _bfd_generic_read_minisymbols (abfd, dynamic, minisymsp, sizep);
}

Here is the call graph for this function:

static bfd_boolean vms_set_arch_mach ( bfd abfd,
enum bfd_architecture arch  ATTRIBUTE_UNUSED,
unsigned long mach  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1379 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_set_arch_mach (%p, %d, %ld)\n", abfd, arch, mach);
#endif
  abfd->arch_info = bfd_scan_arch ("alpha");

  return TRUE;
}

Here is the call graph for this function:

static bfd_boolean vms_set_section_contents ( bfd abfd,
asection section,
const void *  location,
file_ptr  offset,
bfd_size_type  count 
) [static]

Definition at line 1401 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_set_section_contents (%p, sec %s, loc %p, off %ld, count %d)\n",
            abfd, section->name, location, (long int)offset, (int)count);
  vms_debug (2, "size %d\n", (int) section->size);
#endif
  return _bfd_save_vms_section (abfd, section, location, offset, count);
}

Here is the call graph for this function:

static int vms_sizeof_headers ( bfd *abfd  ATTRIBUTE_UNUSED,
struct bfd_link_info *info  ATTRIBUTE_UNUSED 
) [static]

Definition at line 1420 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_sizeof_headers (%p, %s)\n", abfd, (reloc)?"True":"False");
#endif
  return 0;
}
static bfd_boolean vms_slurp_armap ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 659 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_slurp_armap (%p)\n", abfd);
#endif
  return FALSE;
}
static bfd_boolean vms_slurp_extended_name_table ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 671 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_slurp_extended_name_table (%p)\n", abfd);
#endif
  return FALSE;
}
static void vms_truncate_arname ( bfd *abfd  ATTRIBUTE_UNUSED,
const char *pathname  ATTRIBUTE_UNUSED,
char *arhdr  ATTRIBUTE_UNUSED 
) [static]

Definition at line 697 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_truncate_arname (%p, %s, %s)\n", abfd, pathname, arhdr);
#endif
  return;
}
static bfd_boolean vms_update_armap_timestamp ( bfd *abfd  ATTRIBUTE_UNUSED) [static]

Definition at line 777 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_update_armap_timestamp (%p)\n", abfd);
#endif
  return TRUE;
}
static bfd_boolean vms_write_armap ( bfd *arch  ATTRIBUTE_UNUSED,
unsigned int elength  ATTRIBUTE_UNUSED,
struct orl *map  ATTRIBUTE_UNUSED,
unsigned int orl_count  ATTRIBUTE_UNUSED,
int stridx  ATTRIBUTE_UNUSED 
) [static]

Definition at line 710 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_write_armap (%p, %d, %p, %d %d)\n",
       arch, elength, map, orl_count, stridx);
#endif
  return TRUE;
}
static bfd_boolean vms_write_object_contents ( bfd abfd) [static]

Definition at line 370 of file vms.c.

{
#if VMS_DEBUG
  vms_debug (1, "vms_write_object_contents (%p)\n", abfd);
#endif

  if (abfd->section_count > 0)                   /* we have sections */
    {
      if (PRIV (is_vax))
       {
         if (_bfd_vms_write_hdr (abfd, OBJ_S_C_HDR) != 0)
           return FALSE;
         if (_bfd_vms_write_gsd (abfd, OBJ_S_C_GSD) != 0)
           return FALSE;
         if (_bfd_vms_write_tir (abfd, OBJ_S_C_TIR) != 0)
           return FALSE;
         if (_bfd_vms_write_tbt (abfd, OBJ_S_C_TBT) != 0)
           return FALSE;
         if (_bfd_vms_write_dbg (abfd, OBJ_S_C_DBG) != 0)
           return FALSE;
         if (abfd->section_count > 255)
           {
             if (_bfd_vms_write_eom (abfd, OBJ_S_C_EOMW) != 0)
              return FALSE;
           }
         else
           {
             if (_bfd_vms_write_eom (abfd, OBJ_S_C_EOM) != 0)
              return FALSE;
           }
       }
      else
       {
         if (_bfd_vms_write_hdr (abfd, EOBJ_S_C_EMH) != 0)
           return FALSE;
         if (_bfd_vms_write_gsd (abfd, EOBJ_S_C_EGSD) != 0)
           return FALSE;
         if (_bfd_vms_write_tir (abfd, EOBJ_S_C_ETIR) != 0)
           return FALSE;
         if (_bfd_vms_write_tbt (abfd, EOBJ_S_C_ETBT) != 0)
           return FALSE;
         if (_bfd_vms_write_dbg (abfd, EOBJ_S_C_EDBG) != 0)
           return FALSE;
         if (_bfd_vms_write_eom (abfd, EOBJ_S_C_EEOM) != 0)
           return FALSE;
       }
    }
  return TRUE;
}

Here is the call graph for this function:


Variable Documentation

reloc_howto_type alpha_howto_table[] [static]

Definition at line 1102 of file vms.c.

Definition at line 38 of file vms.c.

Definition at line 1600 of file vms.c.

Definition at line 1644 of file vms.c.