This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] handle large deltas with DWARF fixed_advance_pc


Bob Wilson wrote:
Is this OK?

2008-01-07 Bob Wilson <bob.wilson@acm.org>

gas/
    * dwarf2dbg.c (out_sleb128): Delete.
    (size_fixed_inc_line_addr, emit_fixed_inc_line_addr): New.
    (out_fixed_inc_line_addr): Delete.
    (relax_inc_line_addr, dwarf2dbg_estimate_size_before_relax): Call new
    size_fixed_inc_line_addr if DWARF2_USE_FIXED_ADVANCE_PC is set.
    (dwarf2dbg_convert_frag): Likewise for emit_fixed_inc_line_addr.
    (process_entries): Remove calls to out_fixed_inc_line_addr.  When
    DWARF2_USE_FIXED_ADVANCE_PC is set, call relax_inc_line_addr.
    * read.h (emit_expr_fix): New prototype.
    * read.c (emit_expr): Move code to emit_expr_fix and use it here.
    (emit_expr_fix): New.

testsuite/
    * gas/lns/lns.exp: Run new lns-big-delta test for targets that set
    DWARF2_USE_FIXED_ADVANCE_PC.
    * gas/lns/lns-big-delta.s: New.
    * gas/lns/lns-big-delta.d: New.

I forgot to mention how I tested this. I built a native i686-pc-linux-gnu assembler and an xtensa-elf cross assembler and ran the GAS testsuite, including the new testcase. I also verified that the xtensa-elf assembler correctly handled an assembly file generated by Tensilica's compiler that exposed the problem.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]