{ bfd_set_error (bfd_error_no_memory); return ""; }
return "";
static asymbol *binary_make_empty_symbol PARAMS ((bfd *));static void binary_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));static boolean binary_set_section_contents  PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));static int binary_sizeof_headers PARAMS ((bfd *, boolean));/* Create a binary object.  Invoked via bfd_set_format.  */static booleanbinary_mkobject (abfd)     bfd *abfd;{  return true;}/* Any file may be considered to be a binary file, provided the target   was not defaulted.  That is, it must be explicitly specified as   being binary.  */static const bfd_target *binary_object_p (abfd)     bfd *abfd;{  struct stat statbuf;  asection *sec;  if (abfd->target_defaulted)    {      bfd_set_error (bfd_error_wrong_format);      return NULL;    }  abfd->symcount = BIN_SYMS;  /* Find the file size.  */  if (bfd_stat (abfd, &statbuf) < 0)    {      bfd_set_error (bfd_error_system_call);      return NULL;    }  /* One data section.  */  sec = bfd_make_section (abfd, ".data");  if (sec == NULL)    return NULL;  sec->flags = SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_HAS_CONTENTS;  sec->vma = 0;  sec->_raw_size = statbuf.st_size;  sec->filepos = 0;  abfd->tdata.any = (PTR) sec;  return abfd->xvec;}#define binary_close_and_cleanup _bfd_generic_close_and_cleanup#define binary_bfd_free_cached_info _bfd_generic_bfd_free_cached_info#define binary_new_section_hook _bfd_generic_new_section_hook/* Get contents of the only section.  */static booleanbinary_get_section_contents (abfd, section, location, offset, count)     bfd *abfd;     asection *section;     PTR location;     file_ptr offset;     bfd_size_type count;{  if (bfd_seek (abfd, offset, SEEK_SET) != 0      || bfd_read (location, 1, count, abfd) != count)    return false;  return true;}/* Return the amount of memory needed to read the symbol table.  */static longbinary_get_symtab_upper_bound (abfd)     bfd *abfd;{  return (BIN_SYMS + 1) * sizeof (asymbol *);}/* Create a symbol name based on the bfd's filename.  */static char *mangle_name (abfd, suffix)     bfd *abfd;     char *suffix;{  int size;  char *buf;  char *p;  size = (strlen (bfd_get_filename (abfd))	  + strlen (suffix)	  + sizeof "_binary__");  buf = (char *) bfd_alloc (abfd, size);  if (buf == NULL)    {      bfd_set_error (bfd_error_no_memory);      return "";    }  sprintf (buf, "_binary_%s_%s", bfd_get_filename (abfd), suffix);  /* Change any non-alphanumeric characters to underscores.  */  for (p = buf; *p; p++)    if (! isalnum (*p))      *p = '_';  return buf;}/* Return the symbol table.  */static longbinary_get_symtab (abfd, alocation)     bfd *abfd;     asymbol **alocation;{  asection *sec = (asection *) abfd->tdata.any;  asymbol *syms;  unsigned int i;  syms = (asymbol *) bfd_alloc (abfd, BIN_SYMS * sizeof (asymbol));  if (syms == NULL)    {      bfd_set_error (bfd_error_no_memory);      return false;    }  /* Start symbol.  */  syms[0].the_bfd = abfd;  syms[0].name = mangle_name (abfd, "start");  syms[0].value = 0;  syms[0].flags = BSF_GLOBAL;  syms[0].section = sec;  syms[0].udata.p = NULL;  /* End symbol.  */  syms[1].the_bfd = abfd;  syms[1].name = mangle_name (abfd, "end");  syms[1].value = sec->_raw_size;  syms[1].flags = BSF_GLOBAL;  syms[1].section = sec;  syms[1].udata.p = NULL;  /* Size symbol.  */  syms[2].the_bfd = abfd;  syms[2].name = mangle_name (abfd, "size");  syms[2].value = sec->_raw_size;  syms[2].flags = BSF_GLOBAL;  syms[2].section = bfd_abs_section_ptr;  syms[2].udata.p = NULL;  for (i = 0; i < BIN_SYMS; i++)    *alocation++ = syms++;  *alocation = NULL;  return BIN_SYMS;}/* Make an empty symbol.  */static asymbol *binary_make_empty_symbol (abfd)     bfd *abfd;{  asymbol *ret;  ret = (asymbol *) bfd_alloc (abfd, sizeof (asymbol));  if (ret == NULL)    bfd_set_error (bfd_error_no_memory);  return ret;}