forked from Imagelibrary/binutils-gdb
* dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): Enable when using
linker relaxation. (dwarf2_gen_line_info): Generate real, local, labels for line numbers. (dwarf2dbg_convert_frag): Do not finalize the computation of the frag's symbol value when linker relaxation is enabled. (ADDR_DELTA_LIMIT): Define. (size_fixed_inc_line_addr): Use ADDR_DELTA_LIMIT. (emit_fixed_inc_line_addr): Likewise. * write.c (fixup_segment): If the subtraction of two symbols cannot be resolved but is valid, then prevent bogus range warnings by pre-biasing add_number. * config/tc-h8300.h (DWARF2_USE_FIXED_ADVANCE_PC): Define to 0. * gas/lns/lns.exp: Use alternate lns-common test for targets enabling linker relaxation. * gas/lns/lns-big-delta.d: Allow for output from architectures with 32-bit addresses.
This commit is contained in:
@@ -1004,7 +1004,12 @@ fixup_segment (fixS *fixP, segT this_segment)
|
||||
fixP->fx_subsy = NULL;
|
||||
fixP->fx_pcrel = 1;
|
||||
}
|
||||
else if (!TC_VALIDATE_FIX_SUB (fixP, add_symbol_segment))
|
||||
else if (TC_VALIDATE_FIX_SUB (fixP, add_symbol_segment))
|
||||
/* If the fix is valid, subtract fx_subsy here. The addition of
|
||||
fx_addsy will be performed below. Doing this prevents bogus
|
||||
warnings from the range check below. */
|
||||
add_number -= S_GET_VALUE (fixP->fx_subsy);
|
||||
else
|
||||
{
|
||||
if (!md_register_arithmetic
|
||||
&& (add_symbol_segment == reg_section
|
||||
|
||||
Reference in New Issue
Block a user