osprey/cygnus/bfd/ecofflink.c File Reference

#include "bfd.h"
#include "sysdep.h"
#include "bfdlink.h"
#include "libbfd.h"
#include "objalloc.h"
#include "aout/stab_gnu.h"
#include "coff/internal.h"
#include "coff/sym.h"
#include "coff/symconst.h"
#include "coff/ecoff.h"
#include "libcoff.h"
#include "libecoff.h"

Include dependency graph for ecofflink.c:

Go to the source code of this file.

Data Types

type  string_hash_entry
type  string_hash_table
type  shuffle
type  accumulate

Defines

#define ALLOC_SIZE   (4064)
#define string_hash_lookup(t, string, create, copy)
#define SET(name, indx)
#define ADD(count, size)   tot += debug->symbolic_header.count * size
#define SET(offset, count, size)
#define WRITE(ptr, count, size, offset)

Functions/Subroutines

static bfd_boolean ecoff_add_bytes PARAMS ((char **buf, char **bufend, size_t need))
static struct bfd_hash_entry
*string_hash_newfunc 
PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *))
static void ecoff_align_debug PARAMS ((bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap))
static bfd_boolean
ecoff_write_symhdr 
PARAMS ((bfd *, struct ecoff_debug_info *, const struct ecoff_debug_swap *, file_ptr where))
static int cmp_fdrtab_entry PARAMS ((const PTR, const PTR))
static bfd_boolean mk_fdrtab PARAMS ((bfd *, struct ecoff_debug_info *const, const struct ecoff_debug_swap *const, struct ecoff_find_line *))
static long fdrtab_lookup PARAMS ((struct ecoff_find_line *, bfd_vma))
void _bfd_ecoff_swap_tir_in (int bigend, const struct tir_ext *ext_copy, TIR *intern)
void _bfd_ecoff_swap_tir_out (int bigend, const TIR *intern_copy, struct tir_ext *ext)
void _bfd_ecoff_swap_rndx_in (int bigend, const struct rndx_ext *ext_copy, RNDXR *intern)
void _bfd_ecoff_swap_rndx_out (int bigend, const RNDXR *intern_copy, struct rndx_ext *ext)
static bfd_boolean ecoff_add_bytes (char **buf, char **bufend, size_t need)
static struct bfd_hash_entrystring_hash_newfunc (struct bfd_hash_entry *entry, struct bfd_hash_table *table, const char *string)
static bfd_boolean add_file_shuffle PARAMS ((struct accumulate *, struct shuffle **, struct shuffle **, bfd *, file_ptr, unsigned long))
static bfd_boolean add_file_shuffle (struct accumulate *ainfo, struct shuffle **head, struct shuffle **tail, bfd *input_bfd, file_ptr offset, unsigned long size)
static bfd_boolean
add_memory_shuffle 
PARAMS ((struct accumulate *, struct shuffle **head, struct shuffle **tail, bfd_byte *data, unsigned long size))
static bfd_boolean add_memory_shuffle (struct accumulate *ainfo, struct shuffle **head, struct shuffle **tail, bfd_byte *data, unsigned long size)
PTR bfd_ecoff_debug_init (output_bfd, struct ecoff_debug_info *output_debug, output_swap, struct bfd_link_info *info)
void bfd_ecoff_debug_free (PTR handle, output_bfd, output_debug, output_swap, struct bfd_link_info *info)
bfd_boolean bfd_ecoff_debug_accumulate (PTR handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct ecoff_debug_info *input_debug, const struct ecoff_debug_swap *input_swap, struct bfd_link_info *info)
static long ecoff_add_string PARAMS ((struct accumulate *, struct bfd_link_info *, struct ecoff_debug_info *, FDR *fdr, const char *string))
static long ecoff_add_string (struct accumulate *ainfo, struct bfd_link_info *info, struct ecoff_debug_info *debug, FDR *fdr, const char *string)
bfd_boolean bfd_ecoff_debug_accumulate_other (PTR handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, const struct ecoff_debug_swap *output_swap, bfd *input_bfd, struct bfd_link_info *info)
bfd_boolean bfd_ecoff_debug_externals (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, bfd_boolean relocatable, bfd_boolean *get_extr, void *set_index)
bfd_boolean bfd_ecoff_debug_one_external (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, const char *name, EXTR *esym)
static void ecoff_align_debug (abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap)
bfd_size_type bfd_ecoff_debug_size (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap)
static bfd_boolean ecoff_write_symhdr (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, file_ptr where)
bfd_boolean bfd_ecoff_write_debug (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, file_ptr where)
static bfd_boolean
ecoff_write_shuffle 
PARAMS ((bfd *, const struct ecoff_debug_swap *, struct shuffle *, PTR space))
static bfd_boolean ecoff_write_shuffle (bfd *abfd, const struct ecoff_debug_swap *swap, struct shuffle *shuffle, PTR space)
bfd_boolean bfd_ecoff_write_accumulated_debug (PTR handle, bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap, struct bfd_link_info *info, file_ptr where)
static int cmp_fdrtab_entry (PTR leftp, const PTR rightp) const
static bfd_boolean mk_fdrtab (bfd *abfd, struct ecoff_debug_info *const debug_info, const struct ecoff_debug_swap *const debug_swap, struct ecoff_find_line *line_info)
static long fdrtab_lookup (struct ecoff_find_line *line_info, bfd_vma offset)
static bfd_boolean lookup_line (bfd *abfd, struct ecoff_debug_info *const debug_info, const struct ecoff_debug_swap *const debug_swap, struct ecoff_find_line *line_info)
bfd_boolean _bfd_ecoff_locate_line (bfd *abfd, asection *section, bfd_vma offset, struct ecoff_debug_info *const debug_info, const struct ecoff_debug_swap *const debug_swap, struct ecoff_find_line *line_info, const char **filename_ptr, const char **functionname_ptr, unsigned int *retline_ptr)
static bfd_boolean
ecoff_collect_shuffle 
PARAMS ((struct shuffle *, bfd_byte *))
static bfd_boolean ecoff_collect_shuffle (struct shuffle *l, bfd_byte *buff)
bfd_boolean _bfd_ecoff_get_accumulated_pdr (PTR handle, bfd_byte *buff)
bfd_boolean _bfd_ecoff_get_accumulated_sym (PTR handle, bfd_byte *buff)
bfd_boolean _bfd_ecoff_get_accumulated_ss (PTR handle, bfd_byte *buff)


Define Documentation

#define ADD ( count,
size   )     tot += debug->symbolic_header.count * size

#define ALLOC_SIZE   (4064)

Definition at line 257 of file ecofflink.c.

Referenced by ecoff_add_bytes().

#define SET ( offset,
count,
size   ) 

Value:

if (symhdr->count == 0) \
    symhdr->offset = 0; \
  else \
    { \
      symhdr->offset = where; \
      where += symhdr->count * size; \
    }

#define SET ( name,
indx   ) 

Value:

sec = bfd_get_section_by_name (input_bfd, name); \
  if (sec != NULL) \
    section_adjust[indx] = (sec->output_section->vma \
          + sec->output_offset \
          - sec->vma);

Referenced by _bfd_generic_link_add_one_symbol(), a29k_set_memflags_1(), add_stores(), addr_generation_dependency_p(), adjust_insn_length(), alpha_adjust_cost(), alpha_set_memflags_1(), annotate_constant_pool_refs(), apply_args_size(), apply_result_size(), arc_final_prescan_insn(), arm_cannot_copy_insn_p(), arm_const_double_inline_cost(), arm_debugger_arg_offset(), arm_final_prescan_insn(), arm_gen_constant(), arm_memory_load_p(), arm_rtx_costs(), arm_rtx_costs_1(), arm_size_rtx_costs(), arm_split_constant(), asm_noperands(), avr_reorg(), bfd_ecoff_debug_accumulate(), bfin_rtx_costs(), block_move_sequence(), broken_move(), bypass_conditional_jumps(), can_combine_p(), can_hoist_insn_p(), canonicalize_condition(), check_defs(), check_return_regs(), cirrus_reorg(), classic_gcse(), classify_insn(), coalesce_regs_in_copies(), combinable_i3pat(), combine_instructions(), combine_simplify_rtx(), complete_mode(), compress_float_constant(), compute_hash_table(), compute_kill_rd(), compute_ld_motion_mems(), compute_store_table(), computed_jump_p(), conditionalize_block(), condjump_in_parallel_p(), condjump_p(), const_costs(), construct_dispose_instruction(), construct_prepare_instruction(), construct_restore_jr(), construct_save_jarl(), convert_set_attr(), convert_set_attr_alternative(), convex_adjust_cost(), copy_rtx_and_substitute(), count_occurrences(), count_one_set(), count_reg_usage(), count_tst_insns(), cprop_insn(), create_new_invariant(), cris_movem_load_rest_p(), cris_notice_update_cc(), cris_store_multiple_op_p(), cse_around_loop(), cse_end_of_basic_block(), cse_insn(), cse_set_around_loop(), cselib_record_sets(), d30v_emit_comparison(), dead_or_set_regno_p(), dead_register_here(), decode_asm_operands(), def_reaches_here_p(), default_rtx_costs(), delete_dead_insn(), delete_prior_computation(), df_def_record_1(), df_defs_record(), df_uses_record(), diagnostic_for_asm(), discover_flags_reg(), distribute_and_simplify_rtx(), ecoff_write_symhdr(), eligible_for_epilogue_delay(), eligible_for_return_delay(), eligible_for_sibcall_delay(), eliminate_partially_redundant_loads(), eliminate_regs(), eliminate_regs_1(), eliminate_regs_in_insn(), elimination_effects(), emit_input_reload_insns(), emit_link_insn(), emit_no_conflict_block(), equiv_init_movable_p(), errata_emit_nops(), expand_compound_operation(), expand_mult(), expand_smod_pow2(), extract_insn(), file_and_line_for_asm(), final_prescan_insn(), final_scan_insn(), find_avail_set(), find_bypass_set(), find_equiv_reg(), find_loads(), find_moveable_store(), find_reloads(), find_set_regmode_weight(), find_single_use_1(), find_single_use_in_loop(), find_split_point(), fix_crossing_conditional_branches(), fixup_var_refs_1(), fixup_var_refs_insn(), flags_set_1(), force_to_mode(), fr30_expand_prologue(), frv_optimize_membar_local(), frv_registers_conflict_p_1(), gen_block_redirect(), gen_expand(), gen_reload_insi(), gen_reload_outsi(), gen_rtx_next(), gen_split(), general_induction_var(), get_condition(), global_conflicts(), gt_ggc_mx_rtx_def(), h8300_adjust_insn_length(), h8300_ldm_stm_parallel(), h8300_ldm_stm_regno(), h8300_rtx_costs(), hard_reg_set_here_p(), hash_scan_insn(), hoist_insn_after(), hppa_rtx_costs(), hypersparc_adjust_cost(), i960_bypass(), ia64_rtx_costs(), ia64_single_set(), ia64_spec_check_p(), ia64_speculate_insn(), identify_call_return_value(), if_test_bypass_p(), init_alias_analysis(), init_expmed(), init_optabs(), insert_set_in_table(), insn_dead_p(), insn_invalid_p(), insn_live_p(), insn_rtx_cost(), insn_stack_adjust_offset_pre_post(), instantiate_virtual_regs_1(), ip2k_reorg(), ip2k_rtx_costs(), iq2000_expand_prologue(), is_cond_candidate(), is_load_insn1(), is_predicable(), is_store_insn1(), iv_add_mult_cost(), ix86_agi_dependant(), ix86_agi_dependent(), ix86_attr_length_address_default(), ix86_check_movabs(), ix86_flags_dependant(), ix86_flags_dependent(), ix86_match_ccmode(), legitimize_pic_address(), libcall_dead_p(), lmw_operation(), load_mems(), load_multiple_operation(), location_for_asm(), loop_regs_scan(), loop_regs_update(), lshift_cheap_p(), m32c_compare_redundant(), m32c_rtx_costs(), m68hc11_check_z_replacement(), m68hc11_emit_logical(), m68hc11_notice_update_cc(), m68hc11_reassign_regs(), m68hc11_reload_operands(), m68hc11_reorg(), m68hc11_rtx_costs(), m68hc11_shift_cost(), m68hc11_z_replacement(), machine_dependent_reorg(), machopic_indirect_data_reference(), machopic_legitimize_pic_address(), make_compound_operation(), make_extraction(), make_insn_raw(), mark_effect(), mark_loop_jump(), mark_not_eliminable(), mark_oprs_set(), mark_phi_and_copy_regs(), mark_referenced_regs(), mark_referenced_resources(), mark_references(), mark_set_regs(), mark_set_resources(), mark_use(), mark_used_regs(), mark_used_regs_combine(), maybe_eliminate_biv_1(), mcore_expand_insv(), mcore_gen_compare_reg(), mcore_load_multiple_operation(), mcore_store_multiple_operation(), memref_referenced_p(), merge_outer_ops(), mfcr_operation(), mips16_optimize_gp(), mips_expand_prologue(), mips_output_function_prologue(), mips_rtx_costs(), mn10300_rtx_costs(), mostly_false_jump(), mova_p(), move2add_note_store(), move_deaths(), move_movables(), mt_get_attr_type(), mt_reorg_loops(), mt_set_memflags_1(), mtcrf_operation(), multi_register_push(), multiple_sets(), next_cc_user_code(), next_cc_user_is_unsigned(), no_conflict_move_test(), noce_get_alt_condition(), noce_try_sign_mask(), noncall_uses_reg(), nonlocal_referenced_p_1(), nonlocal_set_p_1(), noop_move_p(), note_stores(), note_uses(), notice_update_cc(), ns32k_notice_update_cc(), output_fpop(), output_fpops(), output_restore(), output_sibcall(), pa_adjust_cost(), pa_adjust_insn_length(), pattern_is_ok_for_dispose(), pattern_is_ok_for_epilogue(), pattern_is_ok_for_prepare(), pattern_is_ok_for_prologue(), pc_set(), peephole(), peephole2_1(), peephole2_2(), peephole2_insns(), pj_machine_dependent_reorg(), pop_multiple_operation(), pre_insert_copy_insn(), precompute_register_parameters(), prepare_scc_operands(), print_pattern(), process_for_unwind_directive(), product_cheap_p(), propagate_one_insn(), purge_addressof_1(), purge_hard_subreg_sets(), push_multiple_operation(), ra_print_rtx(), recog(), recog_10(), recog_11(), recog_22(), recog_23(), recog_24(), recog_25(), recog_26(), recog_27(), recog_28(), recog_29(), recog_30(), recog_31(), recog_32(), recog_33(), recog_34(), recog_35(), recog_36(), recog_37(), recog_38(), recog_5(), recog_6(), recog_7(), recog_8(), recog_9(), recog_for_combine(), record_dead_and_set_regs_1(), redirect_exp_1(), refers_to_regno_for_reload_p(), refers_to_regno_p(), reg_bitfield_target_p(), reg_clobbered_p(), reg_referenced_p(), reg_scan_mark_refs(), reg_set_last(), reg_used_in_mem_p(), regno_clobbered_p(), regs_used(), reload(), reload_combine_note_store(), reload_combine_note_use(), reload_cse_move2add(), reload_cse_simplify(), reload_cse_simplify_operands(), reload_cse_simplify_set(), remove_useless_addtr_insns(), rename_insn_1(), replace_constant_pool_ref(), replace_regs(), restore_world_operation(), returnjump_p_1(), reverse_comparison(), reversed_comparison_code_parts(), rs6000_adjust_cost(), rs6000_emit_vector_compare(), rs6000_emit_vector_select(), rs6000_frame_related(), rs6000_rtx_costs(), rtx_equiv_p(), rtx_needs_barrier(), s390_adjust_cost(), s390_agen_dep_p(), s390_chunkify_cancel(), s390_chunkify_pool(), s390_chunkify_start(), s390_emit_prologue(), s390_expand_atomic(), s390_mainpool_start(), s390_match_ccmode(), s390_match_ccmode_set(), s390_optimize_prologue(), s390_split_branches(), save_gprs(), save_world_operation(), scan_loop(), scan_rtx(), sched_analyze_1(), sched_analyze_2(), sched_analyze_insn(), sched_analyze_reg(), score_rtx_costs(), see_merge_one_def_extension(), see_want_to_be_merged_with_extension(), seq_cost(), set_dest_equiv_p(), set_label_offsets(), sets_function_arg_p(), sfunc_uses_reg(), sh_adjust_cost(), sh_cannot_copy_insn_p(), sh_reorg(), sh_rtx_costs(), simplejump_p(), simplify_binary_operation(), simplify_binary_operation_1(), simplify_comparison(), simplify_if_then_else(), simplify_set(), simplify_shift_const(), simplify_shift_const_1(), simplify_subreg(), single_set_2(), single_set_for_csa(), single_set_pattern(), sparc_check_64(), sparc_nonflat_function_epilogue(), spe_func_has_64bit_regs_p(), spe_synthesize_frame_save(), split_2(), split_3(), split_4(), split_branches(), split_insns(), stmw_operation(), store_data_bypass_p(), store_killed_in_insn(), store_multiple_operation(), subst(), subst_constants(), substitute_ep_register(), summarize_insn(), supersparc_adjust_cost(), thumb_rtx_costs(), tls_call_delay(), try_combine(), ultra_find_type(), ultra_fpmode_conflict_exists(), ultrasparc_adjust_cost(), unique_src_operand(), unsigned_jump_follows_p(), validate_pattern(), validate_replace_rtx_1(), validate_simplify_insn(), vax_notice_update_cc(), verify_rtx_sharing(), vr4130_avoid_branch_rt_conflict(), vrsave_operation(), walk_insn_part(), wipe_dead_reg(), and xtensa_rtx_costs().

#define string_hash_lookup ( t,
string,
create,
copy   ) 

Value:

((struct string_hash_entry *) \
   bfd_hash_lookup (&(t)->table, (string), (create), (copy)))

Definition at line 340 of file ecofflink.c.

Referenced by bfd_ecoff_debug_accumulate(), and ecoff_add_string().

#define WRITE ( ptr,
count,
size,
offset   ) 


Function Documentation

bfd_boolean _bfd_ecoff_get_accumulated_pdr ( PTR  handle,
bfd_byte buff 
)

Definition at line 2499 of file ecofflink.c.

References ecoff_collect_shuffle(), and accumulate::pdr.

Referenced by mips_elf_create_procedure_table().

bfd_boolean _bfd_ecoff_get_accumulated_ss ( PTR  handle,
bfd_byte buff 
)

bfd_boolean _bfd_ecoff_get_accumulated_sym ( PTR  handle,
bfd_byte buff 
)

Definition at line 2511 of file ecofflink.c.

References ecoff_collect_shuffle(), and accumulate::sym.

Referenced by mips_elf_create_procedure_table().

bfd_boolean _bfd_ecoff_locate_line ( bfd abfd,
asection section,
bfd_vma  offset,
struct ecoff_debug_info * const  debug_info,
const struct ecoff_debug_swap * const  debug_swap,
struct ecoff_find_line line_info,
const char **  filename_ptr,
const char **  functionname_ptr,
unsigned int *  retline_ptr 
)

void _bfd_ecoff_swap_rndx_in ( int  bigend,
const struct rndx_ext ext_copy,
RNDXR intern 
)

void _bfd_ecoff_swap_rndx_out ( int  bigend,
const RNDXR intern_copy,
struct rndx_ext ext 
)

void _bfd_ecoff_swap_tir_in ( int  bigend,
const struct tir_ext ext_copy,
TIR intern 
)

void _bfd_ecoff_swap_tir_out ( int  bigend,
const TIR intern_copy,
struct tir_ext ext 
)

static bfd_boolean add_file_shuffle ( struct accumulate ainfo,
struct shuffle **  head,
struct shuffle **  tail,
bfd input_bfd,
file_ptr  offset,
unsigned long  size 
) [static]

static bfd_boolean add_memory_shuffle ( struct accumulate ainfo,
struct shuffle **  head,
struct shuffle **  tail,
bfd_byte data,
unsigned long  size 
) [static]

bfd_boolean bfd_ecoff_debug_accumulate ( PTR  handle,
bfd output_bfd,
struct ecoff_debug_info output_debug,
const struct ecoff_debug_swap output_swap,
bfd input_bfd,
struct ecoff_debug_info input_debug,
const struct ecoff_debug_swap input_swap,
struct bfd_link_info info 
)

Definition at line 583 of file ecofflink.c.

References add_file_shuffle(), add_memory_shuffle(), fdr::adr, accumulate::aux, accumulate::aux_end, bfd_alloc(), BFD_ASSERT, bfd_error_no_memory, bfd_malloc(), bfd_set_error(), fdr::caux, HDRR::cbAuxOffset, HDRR::cbLine, fdr::cbLine, HDRR::cbLineOffset, fdr::cbLineOffset, HDRR::cbOptOffset, HDRR::cbPdOffset, fdr::cbSs, HDRR::cbSsOffset, fdr::cline, fdr::copt, fdr::cpd, fdr::crfd, HDRR::crfd, fdr::csym, ECOFF_IS_STAB, end, ecoff_debug_info::external_fdr, ecoff_debug_swap::external_fdr_size, ecoff_debug_info::external_opt, ecoff_debug_swap::external_opt_size, ecoff_debug_info::external_pdr, ecoff_debug_swap::external_pdr_size, ecoff_debug_info::external_rfd, ecoff_debug_swap::external_rfd_size, ecoff_debug_info::external_sym, ecoff_debug_swap::external_sym_size, FALSE, ecoff_debug_info::fdr, accumulate::fdr, accumulate::fdr_end, accumulate::fdr_hash, fdr::fMerge, for(), free(), bfd_target::header_byteorder, i, fdr::iauxBase, HDRR::iauxMax, ecoff_debug_info::ifdmap, HDRR::ifdMax, fdr::ilineBase, HDRR::ilineMax, in, fdr::ioptBase, HDRR::ioptMax, fdr::ipdFirst, HDRR::ipdMax, SYMR::iss, fdr::issBase, HDRR::issMax, fdr::isymBase, HDRR::isymMax, accumulate::line, accumulate::line_end, lookup(), accumulate::memory, memset, string_hash_entry::next, NULL, objalloc_alloc, opt, accumulate::opt, accumulate::opt_end, out, PARAMS, accumulate::pdr, accumulate::pdr_end, pos(), PTR, bfd_link_info::relocatable, accumulate::rfd, accumulate::rfd_end, fdr::rfdBase, fdr::rss, SYMR::sc, scBss, scCommon, scData, scFini, scInit, scMax, scRConst, scRData, scSBss, scSCommon, scSData, scText, sec, SET, size, sprintf(), accumulate::ss, ecoff_debug_info::ss, accumulate::ss_end, accumulate::ss_hash, accumulate::ss_hash_end, SYMR::st, stGlobal, stLabel, stNil, stProc, accumulate::str_hash, string_hash_lookup, strlen(), stStatic, stStaticProc, ecoff_debug_swap::swap_fdr_in, ecoff_debug_swap::swap_fdr_out, ecoff_debug_swap::swap_opt_in, ecoff_debug_swap::swap_opt_out, ecoff_debug_swap::swap_pdr_in, ecoff_debug_swap::swap_pdr_out, ecoff_debug_swap::swap_rfd_in, ecoff_debug_swap::swap_rfd_out, ecoff_debug_swap::swap_sym_in, ecoff_debug_swap::swap_sym_out, accumulate::sym, accumulate::sym_end, ecoff_debug_info::symbolic_header, sz(), TRUE, string_hash_entry::val, SYMR::value, void, and bfd::xvec.

bfd_boolean bfd_ecoff_debug_accumulate_other ( PTR  handle,
bfd output_bfd,
struct ecoff_debug_info output_debug,
const struct ecoff_debug_swap output_swap,
bfd input_bfd,
struct bfd_link_info info 
)

bfd_boolean bfd_ecoff_debug_externals ( bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap,
bfd_boolean  relocatable,
bfd_boolean *  get_extr,
void set_index 
)

void bfd_ecoff_debug_free ( PTR  handle,
output_bfd  ,
output_debug  ,
output_swap  ,
struct bfd_link_info info 
)

PTR bfd_ecoff_debug_init ( output_bfd  ,
struct ecoff_debug_info output_debug,
output_swap  ,
struct bfd_link_info info 
)

bfd_boolean bfd_ecoff_debug_one_external ( bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap,
const char *  name,
EXTR esym 
)

bfd_size_type bfd_ecoff_debug_size ( bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap 
)

bfd_boolean bfd_ecoff_write_accumulated_debug ( PTR  handle,
bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap,
struct bfd_link_info info,
file_ptr  where 
)

bfd_boolean bfd_ecoff_write_debug ( bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap,
file_ptr  where 
)

static int cmp_fdrtab_entry ( PTR  leftp,
const PTR  rightp 
) const [static]

Definition at line 1758 of file ecofflink.c.

References ecoff_fdrtab_entry::base_addr.

Referenced by mk_fdrtab().

static bfd_boolean ecoff_add_bytes ( char **  buf,
char **  bufend,
size_t  need 
) [static]

Definition at line 262 of file ecofflink.c.

References ALLOC_SIZE, bfd_realloc(), FALSE, NULL, and TRUE.

Referenced by bfd_ecoff_debug_one_external().

static long ecoff_add_string ( struct accumulate ainfo,
struct bfd_link_info info,
struct ecoff_debug_info debug,
FDR fdr,
const char *  string 
) [static]

static void ecoff_align_debug ( abfd  ,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap 
) [static]

static bfd_boolean ecoff_collect_shuffle ( struct shuffle l,
bfd_byte buff 
) [static]

static bfd_boolean ecoff_write_shuffle ( bfd abfd,
const struct ecoff_debug_swap swap,
struct shuffle shuffle,
PTR  space 
) [static]

static bfd_boolean ecoff_write_symhdr ( bfd abfd,
struct ecoff_debug_info debug,
const struct ecoff_debug_swap swap,
file_ptr  where 
) [static]

static long fdrtab_lookup ( struct ecoff_find_line line_info,
bfd_vma  offset 
) [static]

Definition at line 1873 of file ecofflink.c.

References ecoff_fdrtab_entry::base_addr, high, len, low, and tab.

Referenced by lookup_line().

static bfd_boolean lookup_line ( bfd abfd,
struct ecoff_debug_info * const  debug_info,
const struct ecoff_debug_swap * const  debug_swap,
struct ecoff_find_line line_info 
) [static]

static bfd_boolean mk_fdrtab ( bfd abfd,
struct ecoff_debug_info * const  debug_info,
const struct ecoff_debug_swap * const  debug_swap,
struct ecoff_find_line line_info 
) [static]

static bfd_boolean ecoff_collect_shuffle PARAMS ( (struct shuffle *, bfd_byte *)   )  [static]

static bfd_boolean ecoff_write_shuffle PARAMS ( (bfd *, const struct ecoff_debug_swap *, struct shuffle *, PTR space)   )  [static]

static long ecoff_add_string PARAMS ( (struct accumulate *, struct bfd_link_info *, struct ecoff_debug_info *, FDR *fdr, const char *string  )  [static]

static bfd_boolean add_memory_shuffle PARAMS ( (struct accumulate *, struct shuffle **head, struct shuffle **tail, bfd_byte *data, unsigned long size  )  [static]

static bfd_boolean add_file_shuffle PARAMS ( (struct accumulate *, struct shuffle **, struct shuffle **, bfd *, file_ptr, unsigned long  )  [static]

static long fdrtab_lookup PARAMS ( (struct ecoff_find_line *, bfd_vma  )  [static]

static bfd_boolean mk_fdrtab PARAMS ( (bfd *, struct ecoff_debug_info *const, const struct ecoff_debug_swap *const, struct ecoff_find_line *)   )  [static]

static int cmp_fdrtab_entry PARAMS ( (const PTR, const PTR  )  [static]

static bfd_boolean ecoff_write_symhdr PARAMS ( (bfd *, struct ecoff_debug_info *, const struct ecoff_debug_swap *, file_ptr where  )  [static]

static void ecoff_align_debug PARAMS ( (bfd *abfd, struct ecoff_debug_info *debug, const struct ecoff_debug_swap *swap)   )  [static]

static struct bfd_hash_entry* string_hash_newfunc PARAMS ( (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)   )  [static, read]

static bfd_boolean ecoff_add_bytes PARAMS ( (char **buf, char **bufend, size_t need)   )  [static]

static struct bfd_hash_entry* string_hash_newfunc ( struct bfd_hash_entry entry,
struct bfd_hash_table table,
const char *  string 
) [static, read]


Generated on Wed Apr 8 14:47:50 2009 for Open64 by  doxygen 1.5.6