Line 1... |
Line 1... |
/* BFD back-end for Renesas Super-H COFF binaries.
|
/* BFD back-end for Renesas Super-H COFF binaries.
|
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
Contributed by Cygnus Support.
|
Contributed by Cygnus Support.
|
Written by Steve Chamberlain, <sac@cygnus.com>.
|
Written by Steve Chamberlain, <sac@cygnus.com>.
|
Relaxing code written by Ian Lance Taylor, <ian@cygnus.com>.
|
Relaxing code written 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 28... |
Line 28... |
#include "libbfd.h"
|
#include "libbfd.h"
|
#include "bfdlink.h"
|
#include "bfdlink.h"
|
#include "coff/sh.h"
|
#include "coff/sh.h"
|
#include "coff/internal.h"
|
#include "coff/internal.h"
|
|
|
|
#undef bfd_pe_print_pdata
|
|
|
#ifdef COFF_WITH_PE
|
#ifdef COFF_WITH_PE
|
#include "coff/pe.h"
|
#include "coff/pe.h"
|
|
|
#ifndef COFF_IMAGE_WITH_PE
|
#ifndef COFF_IMAGE_WITH_PE
|
static bfd_boolean sh_align_load_span
|
static bfd_boolean sh_align_load_span
|
Line 39... |
Line 41... |
bfd_boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma),
|
bfd_boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma),
|
PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *));
|
PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *));
|
|
|
#define _bfd_sh_align_load_span sh_align_load_span
|
#define _bfd_sh_align_load_span sh_align_load_span
|
#endif
|
#endif
|
#endif
|
|
|
#define bfd_pe_print_pdata _bfd_pe_print_ce_compressed_pdata
|
|
|
|
#else
|
|
|
|
#define bfd_pe_print_pdata NULL
|
|
|
|
#endif /* COFF_WITH_PE. */
|
|
|
#include "libcoff.h"
|
#include "libcoff.h"
|
|
|
/* Internal functions. */
|
/* Internal functions. */
|
static bfd_reloc_status_type sh_reloc
|
static bfd_reloc_status_type sh_reloc
|
Line 3110... |
Line 3119... |
}
|
}
|
|
|
/* This is copied from bfd_coff_std_swap_table so that we can change
|
/* This is copied from bfd_coff_std_swap_table so that we can change
|
the default section alignment power. */
|
the default section alignment power. */
|
|
|
static const bfd_coff_backend_data bfd_coff_small_swap_table =
|
static bfd_coff_backend_data bfd_coff_small_swap_table =
|
{
|
{
|
coff_swap_aux_in, coff_swap_sym_in, coff_swap_lineno_in,
|
coff_swap_aux_in, coff_swap_sym_in, coff_swap_lineno_in,
|
coff_swap_aux_out, coff_swap_sym_out,
|
coff_swap_aux_out, coff_swap_sym_out,
|
coff_swap_lineno_out, coff_swap_reloc_out,
|
coff_swap_lineno_out, coff_swap_reloc_out,
|
coff_swap_filehdr_out, coff_swap_aouthdr_out,
|
coff_swap_filehdr_out, coff_swap_aouthdr_out,
|
Line 3123... |
Line 3132... |
#ifdef COFF_LONG_FILENAMES
|
#ifdef COFF_LONG_FILENAMES
|
TRUE,
|
TRUE,
|
#else
|
#else
|
FALSE,
|
FALSE,
|
#endif
|
#endif
|
#ifdef COFF_LONG_SECTION_NAMES
|
COFF_DEFAULT_LONG_SECTION_NAMES,
|
TRUE,
|
|
#else
|
|
FALSE,
|
|
#endif
|
|
2,
|
2,
|
#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
|
#ifdef COFF_FORCE_SYMBOLS_IN_STRINGS
|
TRUE,
|
TRUE,
|
#else
|
#else
|
FALSE,
|
FALSE,
|
Line 3147... |
Line 3152... |
coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
|
coff_slurp_symbol_table, symname_in_debug_hook, coff_pointerize_aux_hook,
|
coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
|
coff_print_aux, coff_reloc16_extra_cases, coff_reloc16_estimate,
|
coff_classify_symbol, coff_compute_section_file_positions,
|
coff_classify_symbol, coff_compute_section_file_positions,
|
coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
|
coff_start_final_link, coff_relocate_section, coff_rtype_to_howto,
|
coff_adjust_symndx, coff_link_add_one_symbol,
|
coff_adjust_symndx, coff_link_add_one_symbol,
|
coff_link_output_has_begun, coff_final_link_postscript
|
coff_link_output_has_begun, coff_final_link_postscript,
|
|
bfd_pe_print_pdata
|
};
|
};
|
|
|
#define coff_small_close_and_cleanup \
|
#define coff_small_close_and_cleanup \
|
coff_close_and_cleanup
|
coff_close_and_cleanup
|
#define coff_small_bfd_free_cached_info \
|
#define coff_small_bfd_free_cached_info \
|