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 v2] Add "--trampolines" option to allow assembler to relax out-of-range jumps


Hi Sterling,

On Fri, Mar 14, 2014 at 12:05 AM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> 2014-02-28  David Weatherford <weath@cadence.com>
>             Max Filippov <jcmvbkbc@gmail.com>
>
> gas/config/
>     * tc-xtensa.c (xtensa_check_frag_count, xtensa_create_trampoline_frag)
>     (xtensa_maybe_create_trampoline_frag, init_trampoline_frag)
>     (find_trampoline_seg, search_trampolines, get_best_trampoline)
>     (check_and_update_trampolines, add_jump_to_trampoline)
>     (dump_trampolines): New function.
>     (md_parse_option): Add cases for --[no-]trampolines options.
>     (md_assemble, finish_vinsn, xtensa_end): Add call to
>     xtensa_check_frag_count.
>     (xg_assemble_vliw_tokens): Add call to
>     xtensa_maybe_create_trampoline_frag.
>     (xtensa_relax_frag): Relax fragments with RELAX_TRAMPOLINE state.
>     (relax_frag_immed): Relax jump instructions that cannot reach its
>     target.
>     * tc-xtensa.h (xtensa_relax_statesE::RELAX_TRAMPOLINE): New relax
>     state.
>
> gas/doc/
>     * as.texinfo: Document --[no-]trampolines command-line options.
>     * c-xtensa.texi: Document trampolines relaxation and command line
>     options.
>
> gas/
>     * frags.c (get_frag_count, clear_frag_count): New function.
>     (frag_alloc): Increment totalfrags counter.
>     * frags.h (get_frag_count, clear_frag_count): New function.
>
> gas/testsuite/gas/xtensa/
>     * all.exp: Add test for trampoline relaxation.
>     * trampoline.d: Trampoline relaxation expected dump.
>     * trampoline.s: Trampoline relaxation test source.
> ---
> Changes v1 -> v2:
> - spell out all abbreviations of 'trampoline';
> - fix structure definition style for struct trampoline_frag, trampoline_seg;
> - add blank line in blocks after local variable declarations;
> - combine changelog entries with similar changes.

Is there anything else that needs to be done for this patch to be committed?

-- 
Thanks.
-- Max


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