int dwarf2dbg_estimate_size_before_relax (fragS *frag) { offsetT addr_delta; int size; addr_delta = resolve_symbol_value (frag->fr_symbol); size = size_inc_line_addr (frag->fr_offset, addr_delta); frag->fr_subtype = size; return size; }
int dwarf2dbg_estimate_size_before_relax (fragS *frag) { offsetT addr_delta; int size; addr_delta = resolve_symbol_value (frag->fr_symbol); if (DWARF2_USE_FIXED_ADVANCE_PC) size = size_fixed_inc_line_addr (frag->fr_offset, addr_delta); else size = size_inc_line_addr (frag->fr_offset, addr_delta); frag->fr_subtype = size; return size; }
static void relax_inc_line_addr (int line_delta, symbolS *to_sym, symbolS *from_sym) { expressionS expr; int max_chars; expr.X_op = O_subtract; expr.X_add_symbol = to_sym; expr.X_op_symbol = from_sym; expr.X_add_number = 0; /* The maximum size of the frag is the line delta with a maximum sized address delta. */ max_chars = size_inc_line_addr (line_delta, -DWARF2_LINE_MIN_INSN_LENGTH); frag_var (rs_dwarf2dbg, max_chars, max_chars, 1, make_expr_symbol (&expr), line_delta, NULL); }
static void out_inc_line_addr (int line_delta, addressT addr_delta) { int len = size_inc_line_addr (line_delta, addr_delta); emit_inc_line_addr (line_delta, addr_delta, frag_more (len), len); }