- hex_init
- bfd_init
- bfd_set_error_program_name
- select_emulation_mode
-
parse_args
- md_parse_option
- md_show_usage
- md_debug_format_selector
- md_after_parse_args
-
symbol_begin
- symbol_lastP = NULL
- symbol_rootP = NULL
- sy_hash = hash_new()
- local_hash = hash_new()
- fb_label_init
-
frag_init
- zero_address_frag.fr_type = rs_fill
- predefined_address_frag.fr_type = rs_fill
-
subsegs_begin
- obstack_begin(&frchains, chunksize)
- frchain_now = NULL
- frag_now = &dummy_frag
-
read_begin
-
pobegin
- po_hash = hash_new ()
- pop_table_name = "md"
-
md_pop_insert ()
- pop_insert (md_pseudo_table)
- pop_table_name = "obj"
- pop_override_ok = 1
- obj_pop_insert ()
- pop_table_name = "standard"
- pop_insert (potable)
- pop_table_name = "cfi"
- pop_override_ok = 1
- cfi_pop_insert ()
-
obj_read_begin_hook
- elf_obj_read_begin_hook
- obstack_begin(¬es, chunksize)
- obstack_begin(&cond_obstack, chunksize)
-
input_scrub_begin
- input_file_begin
- buffer_length = input_file_buffer_size
- buffer_start = xmalloc ()
- logical_input_line = -1
- logical_input_file = NULL
- physical_input_file = NULL
- next_saved_file = NULL
- do_scrub_begin (flag_m68k_mri)
-
expr_begin
- expr_set_precedence
-
xatexit (close_output_file)
- output_file_close
- if (!keep_it) unlink_if_ordinary
- macro_init
-
output_file_create
- stdoutput = bfd_openw (name, TARGET_FORMAT)
- bfd_set_format (stdoutput, bfd_object)
- bfd_set_arch_mach (stdoutput, TARGET_ARCH, TARGET_MACH)
- stdoutput->flags |= BFD_TRADITIONAL_FORMAT
-
dot_symbol_init
- dot_symbol.bsym = bfd_make_empty_symbol (stdoutput)
- dot_symbol.bsym->name = "."
- dot_symbol.sy_forward_ref = 1
- dot_symbol.sy_value.X_op = O_constant
- tc_init_after_args
- itbl_init
-
dwarf2_init
- all_segs_hash = hash_new ()
- last_seg_ptr = &all_segs
- local_symbol_make (".gasversion.", absolute_section, BFD_VERSION / 10000, &predefined_address_frag)
-
while (defsyms != NULL)
- sym = symbol_new (defsyms->name, absolute_section)
- S_SET_VOLATILE (sym)
- symbol_table_insert (sym)
-
perform_an_assembly_pass
- text_section = subseg_new (TEXT_SECTION_NAME, 0)
- data_section = subseg_new (DATA_SECTION_NAME, 0)
- bss_section = subseg_new (BSS_SECTION_NAME, 0)
- applicable = bfd_applicable_section_flags
- bfd_set_section_flags (text_section)
- bfd_set_section_flags (data_section)
- bfd_set_section_flags (bss_section)
- seg_info (bss_section)->bss = 1
- subseg_new (BFD_ABS_SECTION_NAME)
- subseg_new (BFD_UND_SECTION_NAME)
- reg_section = subseg_new ("*GAS `reg' section*")
- expr_section = subseg_new ("*GAS `expr' section*")
- subseg_set (text_section, 0)
- md_begin
- gas_cgen_begin
- obj_begin
-
read_a_source_file
-
input_scrub_new_file
- input_file_open
- physical_input_file = filename
- physical_input_line = 0
- partial_size = 0
- listing_file
- listing_newline
- register_dependency
-
generate_file_debug
- stabs_generate_asm_file
-
while ((buffer_limit = input_scrub_next_buffer (&input_line_pointer)) != 0)
-
while (input_line_pointer < buffer_limit)
- was_new_line = is_end_of_line
- if (was_new_line)
- symbol_set_value_now (&dot_symbol)
- md_start_line_hook
- if (listing)
- find_end_of_line
- listing_newline
- if (was_new_line)
- line_label = NULL
- if (LABEL_WITHOUT_COLONS || flag_m68k_mri)
- if (is_name_beginner)
- c = get_symbol_end
- if (!mri_line_macro && TC_START_LABEL_WITHOUT_COLON)
- line_label = colon (line_start)
- else
- line_label = symbol_create (line_start, absolute_section, 0, &zero_adress_frag)
- skip spaces
- if (is_name_beginner)
- HANDLE_CONDITIONAL_ASSEMBLY
- s = --input_line_pointer
- c = get_symbol_end ()
- if (TC_START_LABEL (c, s, input_line_pointer))
- line_label = colon (s) /* User-defined label. */
- if (LOCAL_LABELS_DOLLAR && !bfd_is_local_label_name (stdoutput, sym_name))
- dollar_label_clear
- if (new_broken_words)
- obj_frob_colon (sym_name)
- if (symbolP = symbol_find (sym_name)) != 0)
- S_CLEAR_WEAKREFR
- if (LOCAL_SYMBOL_CHECK (symbolP))
- else if (!(S_IS_DEFINED (symbolP) || symbol_equated_p (symbolP)) || S_IS_COMMON (symbolP) || S_IS_VOLATILE (symbolP))
- if (S_IS_VOLATILE (symbolP))
- symbolP = symbol_clone (symbolP, 1)
- S_SET_VALUE (symbolP, 0)
- S_CLEAR_VOLATILE (symbolP)
- if (S_GET_VALUE (symbolP) == 0)
- define_sym_at_dot (symbolP)
- else
- else
- else if (! flag_keep_locals && bfd_is_local_label_name (stdoutput, sym_name))
- symbolP = local_symbol_make (sym_name, now_seg, frag_now_fix (), frag_now)
- else
- symbolP = symbol_new (sym_name, now_seg, frag_now_fix (), frag_now)
- symbol_table_insert (symbolP)
- tc_frob_label (symbolP)
- obj_frob_label (symbolP)
- *input_line_pointer++ = ':'
- tc_check_label (line_label)
- SKIP_WHITESPACE
- else if ((c == '=' && input_line_pointer[1] == '=') || ((c == ' ' || c == '\t') && input_line_pointer[1] == '=' && input_line_pointer[2] == '='))
- equals (s, -1)
- assign_symbol
- demand_empty_reset_of_line ()
- else if ((c == '=' || ((c == ' ' || c == '\t') && input_line_pointer[1] == '=')) && !TC_EQUAL_IN_INSN (c, s))
- equals (s, 1)
- demand_empty_rest_of_line
- else /* Expect pseudo-op or machine instruction. */
- pop = NULL
- if (NO_PSEUDO_DOT || flag_m68k_mri)
- pop = hash_find (po_hash, s)
- if (pop != NULL || (!flag_m68k_mri && *s == '.'))
- pop = hash_find (po_hash, s + 1)
- (*pop->poc_handler (pop->poc_val)
- else
- _find_end_of_line (input_line_pointer, flag_m68k_mri, 1, 0)
- generate_lineno_debug
- if (macro_defined && try_macro (c, s))
- continue
- if (mri_pending_align)
- do_align ()
- mri_pending_align
- if (line_label != NULL)
- symbol_set_frag (line_label, frag_now)
- S_SET_VALUE (line_label, frag_now_fix ())
- assemble_one
- md_assemble
- *input_line_pointer++ = c
- continue
- if (is_end_of_line)
- continue
- if ((LOCAL_LABELS_DOLLAR || LOCAL_LABELS_FB) && ISDIGIT (c))
- HANDLE_CONDITIONAL_ASSEMBLY
- while (ISDIGIT())
- if (c && strchr (line_comment_chars, c))
- HANDLE_CONDITIONAL_ASSEMBLY ()
- if (tc_unrecognized_line (c))
- continue
- input_line_pointer--
- demand_empty_reset_of_line ()
- symbol_set_value_now (&dot_symbol)
- md_cleanup
- input_scrub_close
- cond_finish_check
- md_end
-
create_obj_attrs_section
- bfd_elf_obj_attr_size
- get_elf_backend_data
- subseg_new (".gnu.attributes", 0)
- get_elf_backend_data
- bfd_set_section_flags (SEC_READONLY | SEC_DATA)
- frag_now_fix
- frag_more
- bfd_elf_set_obj_attr_contents
-
if ((flag_execstack || flag_noexecstack) && OUTPUT_FLAVOR == bfd_target_elf_flavour)
- gnustack = sebseg_new (".note.GNU-stack")
- dwarf2_finish
- cfi_finish
-
subsegs_finish
-
for all sections
-
for all frchainP
- subseg_set (s, frchainP->frch_subseg)
- alignment = SUB_SSEGMENT_ALIGN (now_seg, frchainP)
-
if (subseg_text_p (now_seg))
- frag_align_code (alignment, 0)
-
else
- frag_align (alignment, 0, 0)
- frag_wane (frag_now)
- frag_now->fr_fix = 0
-
write_object_file
- md_pre_output_hook
- md_pre_relax_hook
- bfd_section_list_remove (reg_section)
- bfd_section_list_remove (expr_section)
- renumber_sections
-
chain_frchains_together
- info = seg_info (section)
-
if (info != (segment_info_type *) NULL)
- info->frchainP->frch_last = chain_frchains_together_1 (section, info->frchainP)
- frags_chained = 1
-
if (flag_readonly_data_in_text)
- merge_data_into_text
- rsi.pass = 0
-
while (1)
- rsi.changed = 0
-
relax_seg
-
relax_segment
- subseg_change (segment, 0)
- address = 0
- for all fragment
- fragP->relax_marker = 0
- fragP->fr_address = address
- address += fragP->fr_fix
- switch (fragP->fr_type)
- rs_machine_dependent
- if (fragP->fr_symbol)
- resolve_symbol_value (fragP->fr_symbol)
- address += md_estimate_size_before_relax (fragP, segment)
- do while (stretched && -- max_iterations)
- stretch = 0
- stretched = 0
- for all fragment
- fragP->relax_marker ^= 1
- was_address = fragP->fr_address
- address = fragP->fr_address += stretch
- symbolP = fragP->fr_symbol
- offset = fragP->fr_offset
- switch (fragP->fr_type)
- rs_machine_dependent
- growth = md_relax_frag (segment, fragP, stretch)
- if (growth)
- stretch += growth
- stretched = 1
- for all fragment
- if (fragP->last_fr_address != fragP->fr_address)
- fragP->last_fr_address = fragP->fr_address
- ret = 1
- if return value of relax_segment > 0, info->changed = 1
- rsi.pass++
-
if (!rsi.changed)
- break
- finalize_syms = TC_FINALIZE_SYMS_BEFORE_SIZE_SEG
-
size_seg
- subseg_change (sec, 0)
- seginfo = seg_info (sec)
-
if (seginfo && seginfo->frchainP)
-
for all fragments
- cvt_frag_to_fill
- switch (fragP->fr_type)
- rs_machine_dependent
- md_convert_frag
- frag_wane
- md_frag_check
- get last fragP
- size = fragP->fr_address + fragP->fr_fix
-
else
- size = 0
- newsize = md_section_align (sec, size)
- x = bfd_set_section_size (abfd, sec, newsize)
- tc_frob_section
- obj_frob_section
- finalize_syms = 1 /* Relaxation has completed. Freeze all syms. */
- md_post_relax_hook
- processing broken_words
-
if (symbol_rootP)
-
for all symbols
- resolve_symbol_value
- resolve_local_symbol_values
- resolve_reloc_expr_symbols
- tc_frob_file_before_adjust
- obj_frob_file_before_adjust
-
adjust_reloc_syms
- dump_section_relocs (abfd, sec, stderr)
-
for all fixup
-
if (fixp->fx_done)
- ignore it
-
else if (fixp->fx_addsy)
- sym = fixp->fx_addsy
- resolve_symbol_value (sym)
- if (fixp->fx_subsy != NULL)
- resolve_symbol_value (fixp->fx_subsy)
- while (symbol_equated_reloc_p (sym) || S_IS_WEAKREFR (sym))
- newsym = symbol_get_value_expression (sym)->X_add_symbol
- if (LOCAL_SYMBOL_CHECK (s))
- s = local_symbol_convert ((struct local_symbol *) s)
- return &s->sy_value
- if (sym == newsym)
- break
- fixp->fx_offset += symbol_get_value_expression (sym)->X_add_number;
- fixp->fx_addsy = newsym;
- sym = newsym;
- if (symbol_mri_common_p (sym))
- fixp->fx_offset += S_GET_VALUE (sym)
- fixp->fx_addsy = symbol_get_value_expression (sym)->X_add_symbol
- continue
- if (S_FORCE_RELOC (fixp->fx_addsy, 1))
- continue
- if (! tc_fix_adjustable (fixp))
- continue
- if (symbol_section_p (sym))
- continue
- symsec = S_GET_SEGMENT (sym)
- if (symsec == NULL)
- abort
- if (bfd_is_abs_section (symsec))
- continue
- if (symsec != sec && S_IS_LOCAL (sym))
- if ((symmsec->flags & SEC_LINK_ONCE) != 0 || (IS_ELF && strncmp (segment_name (symsec), ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0))
- continue
- if ((symsec->flags * SEC_MERGE) != 0 && (fixp->fx_offset != 0 || fixp->fx_subsy != NULL))
- continue
- if ((symsec->flags & SEC_THREAD_LOCAL) != 0)
- continue
- fixp->fx_offset += S_GET_VALUE (sym)
- fixp->fx_addsy = section_symbol (S_GET_SEGMENT (sym))
- dump_section_relocs (abfd, sec, stderr)
- tc_frob_file_before_fix
- obj_frob_file_before_fix
-
fix_segment
- seginfo = seg_info (sec)
-
fixup_segment (seginfo->fix_root, sec)
- add_symbol_segment = absolute_section
-
if (fixP != NULL && abs_section_sym == NULL)
- abs_section_sym = section_symbol (absolute_section)
-
if (linkrelax && TC_LINKRELAX_FIXUP (this_segment))
- for all fixup
- if (!fixP->fx_done)
- if (fixP->fx_addsy == NULL)
- fixP->fx_addsy = abs_section_sym
- symbol_mark_used_in_reloc (fixP->fx_addsy)
- if (fixP->fx_subsy != NULL)
- symbol_mark_used_in_reloc (fixP->fx_subsy)
- return
-
for all fixup
- fragP = fixP->fx_frag
- TC_VALIDATE_FIX (fixP, this_segment, skip)
- add_number = fixP->fx_offset
- if (fixP->fx_addsy != NULL)
- add_symbol_segment = S_GET_SEGMENT (fixP->fx_addsy)
- if (fixP->fx_subsy != NULL)
- resolve_symbol_value (fixP->fx_subsy)
- sub_symbol_segment = S_GET_SEGMENT (fixP->fx_subsy)
- if (fixP->fx_addsy != NULL && sub_symbol_segment == add_symbol_segment && !S_FORCE_RELOC (fixP->fx_addsy, 0) && !S_FORCE_RELOC (fixP->fx_subsy, 0) && !TC_FORCE_RELOCATION_SUB_SAME (fixP, add_symbol_segment))
- add_number += S_GET_VALUE (fixP->fx_addsy)
- add_number -= S_GET_VALUE (fixP->fx_subsy)
- fixP->fx_offset = add_number
- fixP->fx_addsy = NULL
- fixP->fx_subsy = NULL
- fixP->fx_pcrel = 0
- else if (sub_symbol_segment == absolute_section && !S_FORCE_RELOC (fixP->fx_subsy, 0) && !TC_FORCE_RELOCATION_SUB_ABS (fixP, add_symbol_segment))
- add_number -= S_GET_VALUE (fixP->fx_subsy)
- fixP->fx_offset = add_number
- fixP->fx_subsy = NULL
- else if (sub_symbol_segment == this_segment && !S_FORCE_RELOC (fixP->fx_subsy, 0) && !TC_FORCE_RELOCATION_SUB_LOCAL (fixP, add_symbol_segment))
- add_number -= S_GET_VALUE (fixP->fx_subsy)
- fixP->fx_offset = (add_number + fixP->fx_dot_value + fixP->fx_dot_frag->fr_address)
- if (0 || !fixP->fx_pcrel)
- add_number += MD_PCREL_FROM_SECTION (fixP, this_segment)
- fixP->fx_subsy = NULL
- fixP->fx_pcrel = 1
- else if (!TC_VALIDATE_FIX_SUB (fixP, add_symbol_segment))
- if (!md_register_arithmetic && (add_symbol_segment == reg_section || sub_symbol_segment == reg_section))
- as_bad_where
- else
- as_bad_where
- if (fixP->fx_addsy)
- if (add_symbol_segment == this_segment && !TC_FORCE_RELOCATION_LOCAL)
- add_number += S_GET_VALUE (fixP->fx_addsy)
- fixP->fx_offset = add_number
- if (fixP->fx_pcrel)
- add_number -= MD_PCREL_FROM_SECTION (fixP, this_segment)
- fixP->fx_addsy = NULL
- fixP->fx_pcrel = 0
- else if (add_symbol_segment == absolute_section && !TC_FORCE_RELOCATION_ABS (fixP))
- add_number += S_GET_VALUE (fixP->fx_addsy)
- fixP->fx_offset = add_number
- fixP->fx_addsy = NULL
- else if (add_symbol_segment != undefined_section && ! bfd_is_com_section (add_symbol_segment) && MD_APPLY_SYM_VALUE (fixP))
- add_number += S_GET_VALUE (fixP->fx_addsy)
- if (fixP->fx_pcrel)
- add_number -= MD_PCREL_FROM_SECTION (fixP, this_segment)
- if (!fixP->fx_done && fixP->fx_addsy == NULL)
- fixP->fx_addsy = abs_section_sym
- if (!fixP->fx_done)
- md_apply_fix (fixP, &add_number, this_segment)
- if (!fixP->fx_done)
- if (fixP->fx_addsy == NULL)
- fixP->fx_addsy = abs_section_sym
- symbol_mark_used_in_reloc (fixP->fx_addsy)
- if (fixP->fx_subsy != NULL)
- symbol_mark_used_in_reloc (fixP->fx_subsy)
- if (!fixP->fx_bit_fixP && !fixP->fx_no_overflow && fixP->fx_size != 0)
- TODO
- print_fixup (fixP)
- TC_ADJUST_RELOC_COUNT (fixP, seg_reloc_count
-
if (symbol_rootP)
-
for all symbols
- punt = 0
-
if (skip_next_symbol)
- symbol_get_bfdsym (symp)->value = S_GET_VALUE (symp)
- skip_next_symbol = FALSE
- continue
-
if (symbol_mri_common_p (symp))
- if (S_IS_EXTERNAL (symp))
- as_bad
- symbol_remove (symp, &symbol_rootP, &symbol_lastP)
- continue
- name = S_GET_NAME (symp)
-
if (name)
- name2 = decode_local_label_name (S_GET_NAME (symp))
- if (name2 != name && S_IS_DEFINED (symp))
- as_bad
- resolve_symbol_value (symp)
-
if (symbol_equated_reloc_p (symp) || S_IS_WEAKREFR (symp))
- sname = S_GET_NAME (symp)
- if (S_IS_COMMON (symp) && !TC_FAKE_LABEL (sname) && !S_IS_WEAKREFR (symp) && (!S_IS_EXTERNAL (symp) || S_IS_LOCAL (symp)))
- e = symbol_get_value_expression (symp)
- as_bad
- if (S_GET_SEGMENT (symp) != reg_section
- if (S_GET_NAME (symp) != reg_section->name)
- as_bad
- symbol_remove (symp, &symbol_rootP, &symbol_lastP)
- continue
- obj_frob_symbol (symp, punt)
-
if (! punt || symbol_used_in_reloc_p (symp))
- tc_frob_symbol (symp, punt)
-
if (symp == abs_section_sym || (! EMIT_SECTION_SYMBOLS && symbol_section_p (symp)) || (!S_IS_EXTERNAL (symp) && (punt || S_IS_LOCAL (symp) || (S_IS_WEAKREFD (symp) && !symbol_used_p (symp))) && ! symbol_used_in_reloc_p (symp)))
- symbol_remove (symp, &symbol_rootP, &symbol_lastP)
- continue
-
if (! symbol_resolved_p (symp))
- as_bad
- symbol_mark_resolved (symp)
- symbol_get_bfdsym (symp)->value = S_GET_VALUE (symp)
-
if (symbol_get_bfdsym (symp)->flags & BSF_WARNING)
- skip_next_symbol = TRUE
- tc_adjust_symtab
- obj_adjust_symtab
-
set_symtab
- nsyms = 0
-
for all symbols
- nsyms++
-
if (nsyms)
- amt = nsyms * sizeof (asymbol *)
- asympp = bfd_alloc (stdoutput, amt)
- symp = symbol_rootP
-
for all symbols
- asympp[i] = symbol_get_bfdsym (symp)
- if (asympp[i]->flags != BSF_SECTION_SYM || !(bfd_is_const_section (asympp[i]->section) && asympp[i]->section->symbol == asympp[i]))
- asym pp[i]->flags |= BSF_KEEP
- symbol_mark_written (symp)
- if (LOCAL_SYMBOL_CHECK (s))
- return
- s->sy_flags.sy_written = 0
-
else
- asympp = 0
- result = bfd_set_symtab (stdoutput, asympp, nsyms)
- symbol_table_frozen = 1
- tc_frob_file
- obj_frob_file
- obj_coff_generate_pdata
-
write_relocs
- seginfo = seg_info (sec)
-
if (seginfo == NULL)
- return
-
for all fixup in the section
-
if (!fixp->fx_done)
- n++
- rp = &reloc_list
- my_reloc_list = NULL
-
while ((r = *rp) != NULL)
-
if (r->u.b.sec == sec)
- rp = r->next
- r->next = my_reloc_list
- my_reloc_list = r
- n++
-
else
- rp = &r->next
- relocs = xcalloc (n, sizeof (arelent *))
- n = 0
- r = my_reloc_list
- last_frag = NULL
-
for all fixup in the section
-
if (fixp->fx_done)
- continue
- fx_size = fixp->fx_size
- slack = TC_FX_SIZE_SLACK (fixp)
-
if (slack > 0)
- fx_size = fx_size > slack ? fx_size - slack : 0
- loc = fixp->fx_where + fx_size
- reloc = tc_gen_reloc (sec, fixp)
-
while (*reloc)
- while (r != NULL && r->u.b.r.address < (*reloc)->address)
- f = get_frag_for_reloc (last_frag, seginfo, r)
- if (f != NULL)
- last_frag = f
- relocs[n++] = &r->u.b.r
- install_reloc (sec, &r->u.b.r, f, r->file, r->line)
- r = r->next
- relocs[n++] = *reloc
- install_reloc (sec, *reloc, fixp->fx_frag, fixp->fx_file, fixp->fx_line)
- reloc++
-
while (r != NULL)
- f = get_frag_for_reloc (last_frag, seginfo, r)
-
if (f != NULL)
- last_frag = f
- relocs[n++] = &r->u.b.r
- install_reloc (sec, &r->u.b.r, f, r->file, r->line)
- r = r->next
-
if (n)
- flags = bfd_get_section_flags (abfd, sec)
- flags |= SEC_RELOC
- bfd_set_section_flags (abfd, sec, flags)
- bfd_set_reloc (stdoutput, sec, relocs, n)
- SET_SECTION_RELOCS (sec, relocs, n)
- tc_frob_file_after_relocs
- obj_frob_file_after_relocs
-
compress_debug
- seginfo = seg_info (sec)
- uncompressed_size = sec->size
- flags = bfd_get_section_flags (abfd, sec)
-
if (seginfo == NULL || sec->size < 32 || (flags & (SEC_ALLOC | SEC_HAS_CONTENTS)) == SEC_ALLOC)
- return
- section_name = bfd_get_section_name (stdoutput, sec)
-
if (strncmp (section_name, ".debug_", 7) != 0)
- return
- strm = compress_init
-
if (strm == NULL)
- return
- ...
-
for all fragments
- compress_frag
- bfd_set_section_size (abfd, sec, compressed_size)
-
write_contents
- seginfo = seg_info
- offset = 0
-
if (seginfo == NULL || !(bfd_get_section_flags (abfd, sec) & SEC_HAS_CONTENTS)
- return
-
for all fragments
-
if (f->fr_fix)
- x = bfd_set_section_contents (stdoutput, sec, f->fr_literal, offset, f->fr_fix)
- if (!x)
- as_fatal
- offset += f->fr_fix
- fill_literal = f->fr_literal + f->fr_fix
- fill_size = f->fr_var
- count = f->fr_offset
-
if (fill_size && count)
- if (fill_size > sizeof (buf))
- while (count--)
- bfd_set_section_contents (stdoutput, sec, fill_literal, offset, fill_size)
- offset += fill_size
- else
- if (fill_size == 1)
- n_per_buf = sizeof (buf)
- memset (buf, *fill_literal, n_per_buf)
- else
- n_per_buf = sizeof (buf) / fill_size
- for (i = n_per_buf, bufp = buf; i; i--, bufp += fill_size)
- memcpy (bufp, fill_literal, fill_size)
- for (; count > 0; count -= n_per_buf)
- n_per_buf = n_per_buf > count ? count : n_per_buf
- x = bfd_set_section_contents (stdoutput, sec, buf, offset, n_per_buf * fill_size)
- offset += n_per_buf * fill_size
- fflush (stderr)
- listing_print
- input_scrub_end
- print_dependencies