Line 1... |
Line 1... |
/* Generic ECOFF (Extended-COFF) routines.
|
/* Generic ECOFF (Extended-COFF) routines.
|
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
|
Free Software Foundation, Inc.
|
Original version by Per Bothner.
|
Original version by Per Bothner.
|
Full support added by Ian Lance Taylor, ian@cygnus.com.
|
Full support added by Ian Lance Taylor, ian@cygnus.com.
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
Line 57... |
Line 58... |
"*DEBUG*", 0, 0, NULL, NULL, 0, 0,
|
"*DEBUG*", 0, 0, NULL, NULL, 0, 0,
|
/* linker_mark, linker_has_input, gc_mark, */
|
/* linker_mark, linker_has_input, gc_mark, */
|
0, 0, 1,
|
0, 0, 1,
|
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */
|
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */
|
0, 0, 0, 0,
|
0, 0, 0, 0,
|
/* has_gp_reloc, need_finalize_relax, reloc_done, */
|
/* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, */
|
0, 0, 0,
|
0, 0, 0,
|
/* vma, lma, size, rawsize, */
|
/* reloc_done, vma, lma, size, rawsize, relax, relax_count, */
|
0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0,
|
/* output_offset, output_section, alignment_power, */
|
/* output_offset, output_section, alignment_power, */
|
0, NULL, 0,
|
0, NULL, 0,
|
/* relocation, orelocation, reloc_count, filepos, rel_filepos, */
|
/* relocation, orelocation, reloc_count, filepos, rel_filepos, */
|
NULL, NULL, 0, 0, 0,
|
NULL, NULL, 0, 0, 0,
|
/* line_filepos, userdata, contents, lineno, lineno_count, */
|
/* line_filepos, userdata, contents, lineno, lineno_count, */
|
Line 231... |
Line 232... |
}
|
}
|
|
|
return bfd_default_set_arch_mach (abfd, arch, mach);
|
return bfd_default_set_arch_mach (abfd, arch, mach);
|
}
|
}
|
|
|
|
bfd_boolean
|
|
_bfd_ecoff_no_long_sections (abfd, enable)
|
|
bfd *abfd;
|
|
int enable;
|
|
{
|
|
(void) abfd;
|
|
(void) enable;
|
|
return FALSE;
|
|
}
|
|
|
/* Get the magic number to use based on the architecture and machine.
|
/* Get the magic number to use based on the architecture and machine.
|
This is the inverse of _bfd_ecoff_set_arch_mach_hook, above. */
|
This is the inverse of _bfd_ecoff_set_arch_mach_hook, above. */
|
|
|
static int
|
static int
|
ecoff_get_magic (bfd *abfd)
|
ecoff_get_magic (bfd *abfd)
|
Line 631... |
Line 642... |
/* Create an empty symbol. */
|
/* Create an empty symbol. */
|
|
|
asymbol *
|
asymbol *
|
_bfd_ecoff_make_empty_symbol (bfd *abfd)
|
_bfd_ecoff_make_empty_symbol (bfd *abfd)
|
{
|
{
|
ecoff_symbol_type *new;
|
ecoff_symbol_type *new_symbol;
|
bfd_size_type amt = sizeof (ecoff_symbol_type);
|
bfd_size_type amt = sizeof (ecoff_symbol_type);
|
|
|
new = bfd_zalloc (abfd, amt);
|
new_symbol = (ecoff_symbol_type *) bfd_zalloc (abfd, amt);
|
if (new == NULL)
|
if (new_symbol == NULL)
|
return NULL;
|
return NULL;
|
new->symbol.section = NULL;
|
new_symbol->symbol.section = NULL;
|
new->fdr = NULL;
|
new_symbol->fdr = NULL;
|
new->local = FALSE;
|
new_symbol->local = FALSE;
|
new->native = NULL;
|
new_symbol->native = NULL;
|
new->symbol.the_bfd = abfd;
|
new_symbol->symbol.the_bfd = abfd;
|
return &new->symbol;
|
return &new_symbol->symbol;
|
}
|
}
|
|
|
/* Set the BFD flags and section for an ECOFF symbol. */
|
/* Set the BFD flags and section for an ECOFF symbol. */
|
|
|
static bfd_boolean
|
static bfd_boolean
|
Line 1036... |
Line 1047... |
}
|
}
|
|
|
sprintf (string,
|
sprintf (string,
|
"%s %s { ifd = %u, index = %lu }",
|
"%s %s { ifd = %u, index = %lu }",
|
which, name, ifd,
|
which, name, ifd,
|
((long) indx
|
((unsigned long) indx
|
+ debug_info->symbolic_header.iextMax));
|
+ debug_info->symbolic_header.iextMax));
|
}
|
}
|
|
|
/* Convert the type information to string format. */
|
/* Convert the type information to string format. */
|
|
|