diff options
author | Nick Clifton <nickc@redhat.com> | 2012-06-28 11:31:14 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2012-06-28 11:31:14 +0000 |
commit | 453dc3f0101420a5f44b50e4f0425ac8edc64e0c (patch) | |
tree | 70f247ca991b7ad91ea6d54951d8adff26848308 /gas/write.c | |
parent | 1d7975eb5300c59c69e1c15cfc98fa8894a5a906 (diff) | |
download | gdb-453dc3f0101420a5f44b50e4f0425ac8edc64e0c.zip gdb-453dc3f0101420a5f44b50e4f0425ac8edc64e0c.tar.gz gdb-453dc3f0101420a5f44b50e4f0425ac8edc64e0c.tar.bz2 |
* 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.
Diffstat (limited to 'gas/write.c')
-rw-r--r-- | gas/write.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gas/write.c b/gas/write.c index 23d4334..7fb2e8b 100644 --- a/gas/write.c +++ b/gas/write.c @@ -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 |