|
binutils
2.23.2
About: GNU Binutils are a collection of binary tools. The main ones are "ld" the GNU linker and "(g)as" the GNU assembler.
Fossies Dox: binutils-2.23.2.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation) ![]() |
#include "as.h"#include "safe-ctype.h"#include "dwarf2dbg.h"#include <filenames.h>#include "subsegs.h"#include "dwarf2.h"
Go to the source code of this file.
Data Structures | |
| struct | line_entry |
| struct | line_subseg |
| struct | line_seg |
| struct | file_entry |
Functions | |
| void | dwarf2_gen_line_info (addressT ofs, struct dwarf2_line_info *loc) |
| void | dwarf2_where (struct dwarf2_line_info *line) |
| void | dwarf2_set_isa (unsigned int isa) |
| void | dwarf2_emit_insn (int size) |
| void | dwarf2_consume_line_info (void) |
| void | dwarf2_emit_label (symbolS *label) |
| char * | dwarf2_directive_file (int dummy ATTRIBUTE_UNUSED) |
| void | dwarf2_directive_loc (int dummy ATTRIBUTE_UNUSED) |
| void | dwarf2_directive_loc_mark_labels (int dummy ATTRIBUTE_UNUSED) |
| int | dwarf2dbg_estimate_size_before_relax (fragS *frag) |
| int | dwarf2dbg_relax_frag (fragS *frag) |
| void | dwarf2dbg_convert_frag (fragS *frag) |
| void | dwarf2_init (void) |
| void | dwarf2_finish (void) |
Variables | |
| bfd_boolean | dwarf2_loc_directive_seen |
| bfd_boolean | dwarf2_loc_mark_labels |
| #define ADDR_DELTA_LIMIT 50000 |
Definition at line 1075 of file dwarf2dbg.c.
| #define DL_BODY 2 |
Definition at line 116 of file dwarf2dbg.c.
| #define DL_FILES 1 |
Definition at line 115 of file dwarf2dbg.c.
| #define DL_PROLOG 0 |
Definition at line 114 of file dwarf2dbg.c.
| #define DWARF2_ADDR_SIZE | ( | bfd) | (bfd_arch_bits_per_address (bfd) / 8) |
Definition at line 77 of file dwarf2dbg.c.
Referenced by dwarf2_finish().
| #define DWARF2_ARANGES_VERSION 2 |
Definition at line 98 of file dwarf2dbg.c.
Definition at line 81 of file dwarf2dbg.c.
| #define DWARF2_FILE_SIZE_NAME | ( | FILENAME, | |
| DIRNAME | |||
| ) | 0 |
Definition at line 89 of file dwarf2dbg.c.
| #define DWARF2_FILE_TIME_NAME | ( | FILENAME, | |
| DIRNAME | |||
| ) | 0 |
Definition at line 85 of file dwarf2dbg.c.
| #define DWARF2_FORMAT | ( | SEC) | dwarf2_format_32bit |
Definition at line 73 of file dwarf2dbg.c.
| #define DWARF2_LINE_BASE -5 |
Definition at line 134 of file dwarf2dbg.c.
| #define DWARF2_LINE_DEFAULT_IS_STMT 1 |
Definition at line 149 of file dwarf2dbg.c.
| #define DWARF2_LINE_MIN_INSN_LENGTH 1 |
Definition at line 145 of file dwarf2dbg.c.
| #define DWARF2_LINE_OPCODE_BASE 13 |
Definition at line 129 of file dwarf2dbg.c.
| #define DWARF2_LINE_RANGE 14 |
Definition at line 139 of file dwarf2dbg.c.
| #define DWARF2_LINE_VERSION 2 |
Definition at line 103 of file dwarf2dbg.c.
| #define DWARF2_USE_FIXED_ADVANCE_PC linkrelax |
Definition at line 122 of file dwarf2dbg.c.
Referenced by dwarf2dbg_convert_frag(), dwarf2dbg_convert_frag(), and dwarf2dbg_estimate_size_before_relax().
| #define DWARF2_VERSION 2 |
Definition at line 93 of file dwarf2dbg.c.
Definition at line 69 of file dwarf2dbg.c.
Referenced by dwarf2_directive_loc().
| #define INT_MAX (int) (((unsigned) (-1)) >> 1) |
Definition at line 42 of file dwarf2dbg.c.
| #define MAX_SPECIAL_ADDR_DELTA SPECIAL_ADDR(255) |
Definition at line 160 of file dwarf2dbg.c.
| #define SPECIAL_ADDR | ( | op) | (((op) - DWARF2_LINE_OPCODE_BASE)/DWARF2_LINE_RANGE) |
Definition at line 157 of file dwarf2dbg.c.
| #define SPECIAL_LINE | ( | op) | (((op) - DWARF2_LINE_OPCODE_BASE)%DWARF2_LINE_RANGE + DWARF2_LINE_BASE) |
Definition at line 152 of file dwarf2dbg.c.
| #define TC_DWARF2_EMIT_OFFSET generic_dwarf2_emit_offset |
Definition at line 230 of file dwarf2dbg.c.
| void dwarf2_consume_line_info | ( | void | ) |
Definition at line 433 of file dwarf2dbg.c.
References dwarf2_line_info::discriminator, DWARF2_FLAG_BASIC_BLOCK, DWARF2_FLAG_EPILOGUE_BEGIN, DWARF2_FLAG_PROLOGUE_END, dwarf2_loc_directive_seen, FALSE, dwarf2_line_info::flags, and NULL.
Referenced by dwarf2_emit_insn(), dwarf2_emit_label(), ia64_flush_insns(), md_assemble(), and md_assemble().
Definition at line 583 of file dwarf2dbg.c.
References _, _, as_bad(), as_bad(), DEBUG_NONE, demand_copy_C_string(), demand_empty_rest_of_line(), file_entry::filename, file_entry::filename, get_absolute_expression(), input_line_pointer, NULL, NULL, NULL, NULL, NULL, s_app_file(), and SKIP_WHITESPACE.
Definition at line 625 of file dwarf2dbg.c.
References _, _, _, _, _, _, alloca, as_bad(), as_bad(), as_bad(), as_bad(), as_bad(), as_bad(), c, c, c, c, c, c, c, c, dwarf2_line_info::column, DEBUG_NONE, demand_empty_rest_of_line(), dwarf2_line_info::discriminator, dwarf2_line_info::discriminator, DWARF2_FLAG_BASIC_BLOCK, DWARF2_FLAG_EPILOGUE_BEGIN, DWARF2_FLAG_IS_STMT, DWARF2_FLAG_IS_STMT, DWARF2_FLAG_PROLOGUE_END, dwarf2_loc_directive_seen, dwarf2_loc_directive_seen, dwarf2_line_info::filenum, dwarf2_line_info::flags, dwarf2_line_info::flags, dwarf2_line_info::flags, dwarf2_line_info::flags, dwarf2_line_info::flags, get_absolute_expression(), get_absolute_expression(), get_absolute_expression(), get_absolute_expression(), get_absolute_expression(), get_absolute_expression(), get_symbol_end(), input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, input_line_pointer, INSERT_DIR_SEPARATOR, dwarf2_line_info::isa, ISALPHA, ISDIGIT, dwarf2_line_info::line, line, line, listing, listing_source_file(), listing_source_file(), listing_source_line(), memcpy, memcpy, SKIP_WHITESPACE, SKIP_WHITESPACE, SKIP_WHITESPACE, SKIP_WHITESPACE, strlen(), strlen(), and TRUE.
Definition at line 758 of file dwarf2dbg.c.
References _, as_bad(), demand_empty_rest_of_line(), dwarf2_loc_mark_labels, get_absolute_expression(), and ignore_rest_of_line().
| void dwarf2_emit_insn | ( | int | size) |
Definition at line 414 of file dwarf2dbg.c.
References DEBUG_DWARF2, dwarf2_consume_line_info(), dwarf2_gen_line_info(), dwarf2_loc_directive_seen, dwarf2_where(), and frag_now_fix().
Referenced by gas_cgen_finish_insn(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), md_assemble(), and md_assemble().
| void dwarf2_emit_label | ( | symbolS * | label) |
Definition at line 454 of file dwarf2dbg.c.
References bfd_get_section_flags, DEBUG_DWARF2, dwarf2_consume_line_info(), DWARF2_FLAG_BASIC_BLOCK, dwarf2_loc_mark_labels, dwarf2_where(), dwarf2_line_info::flags, now_seg, now_seg, S_GET_SEGMENT(), SEC_CODE, and stdoutput.
Referenced by aarch64_frob_label(), alpha_define_label(), arm_frob_label(), d10v_frob_label(), d30v_frob_label(), frv_frob_label(), m68k_frob_label(), mips_define_label(), pa_define_label(), sh_frob_label(), tic6x_frob_label(), and xtensa_frob_label().
| void dwarf2_finish | ( | void | ) |
Definition at line 1816 of file dwarf2dbg.c.
References as_fatal(), bfd_get_section_by_name(), bfd_get_section_by_name(), bfd_set_section_flags(), bfd_set_section_flags(), bfd_set_section_flags(), bfd_set_section_flags(), bfd_set_section_flags(), DWARF2_ADDR_SIZE, ffs(), ffs(), gas_assert, line_subseg::head, line_seg::head, line_subseg::next, line_seg::next, line_seg::next, NULL, NULL, NULL, NULL, NULL, line_subseg::ptail, line_subseg::ptail, record_alignment(), record_alignment(), s, s, SEC_DEBUGGING, SEC_DEBUGGING, SEC_DEBUGGING, SEC_DEBUGGING, SEC_DEBUGGING, SEC_READONLY, SEC_READONLY, SEC_READONLY, SEC_READONLY, SEC_READONLY, seg_not_empty_p(), seg_not_empty_p(), stdoutput, stdoutput, stdoutput, stdoutput, stdoutput, stdoutput, stdoutput, stdoutput, subseg_new(), subseg_new(), subseg_new(), subseg_new(), and subseg_new().
Referenced by main().
| void dwarf2_gen_line_info | ( | addressT | ofs, |
| struct dwarf2_line_info * | loc | ||
| ) |
Definition at line 343 of file dwarf2dbg.c.
References DEBUG_DWARF2, dwarf2_line_info::filenum, dwarf2_line_info::filenum, dwarf2_line_info::filenum, frag_now, frag_now, dwarf2_line_info::line, dwarf2_line_info::line, dwarf2_line_info::line, line, linkrelax, name, now_seg, now_seg, symbol_new(), and symbol_temp_new().
Referenced by dwarf2_emit_insn(), and ia64_flush_insns().
| void dwarf2_init | ( | void | ) |
| void dwarf2_set_isa | ( | unsigned int | isa) |
Definition at line 403 of file dwarf2dbg.c.
References dwarf2_line_info::isa.
| void dwarf2_where | ( | struct dwarf2_line_info * | line) |
Definition at line 383 of file dwarf2dbg.c.
References as_where(), dwarf2_line_info::column, DEBUG_DWARF2, dwarf2_line_info::discriminator, dwarf2_line_info::discriminator, DWARF2_FLAG_IS_STMT, dwarf2_line_info::filenum, dwarf2_line_info::flags, dwarf2_line_info::isa, dwarf2_line_info::isa, and dwarf2_line_info::line.
Referenced by dwarf2_emit_insn(), dwarf2_emit_label(), ia64_flush_insns(), md_assemble(), and md_assemble().
| void dwarf2dbg_convert_frag | ( | fragS * | frag) |
Definition at line 1239 of file dwarf2dbg.c.
References DWARF2_USE_FIXED_ADVANCE_PC, DWARF2_USE_FIXED_ADVANCE_PC, finalize_syms, finalize_syms, finalize_syms, frag::fr_fix, frag::fr_fix, frag::fr_fix, frag::fr_literal, frag::fr_literal, frag::fr_offset, frag::fr_offset, frag::fr_offset, frag::fr_subtype, frag::fr_subtype, frag::fr_subtype, frag::fr_subtype, frag::fr_symbol, frag::fr_symbol, frag::fr_type, frag::fr_var, frag::fr_var, gas_assert, resolve_symbol_value(), resolve_symbol_value(), and rs_fill.
Definition at line 1203 of file dwarf2dbg.c.
References DWARF2_USE_FIXED_ADVANCE_PC, frag::fr_offset, frag::fr_offset, frag::fr_subtype, frag::fr_symbol, resolve_symbol_value(), size, size, and size.
Referenced by dwarf2dbg_relax_frag(), and relax_segment().
Definition at line 1224 of file dwarf2dbg.c.
References dwarf2dbg_estimate_size_before_relax(), and frag::fr_subtype.
Referenced by relax_segment().
| bfd_boolean dwarf2_loc_directive_seen |
Definition at line 207 of file dwarf2dbg.c.
Referenced by dwarf2_consume_line_info(), dwarf2_directive_loc(), dwarf2_directive_loc(), dwarf2_emit_insn(), and md_assemble().
| bfd_boolean dwarf2_loc_mark_labels |
Definition at line 211 of file dwarf2dbg.c.
Referenced by dwarf2_directive_loc_mark_labels(), dwarf2_emit_label(), and ia64_frob_label().