[PATCH] gas: allow labeling of CFI instructions
H.J. Lu
hjl.tools@gmail.com
Fri Dec 19 14:32:00 GMT 2014
On Fri, Dec 19, 2014 at 6:26 AM, Jan Beulich <JBeulich@suse.com> wrote:
> When runtime patching code (like e.g. done by the Linux kernel) there
> may be cases where the set of stack frame alterations differs between
> unpatched and patched code. Consequently the corresponding unwind data
> needs patching too. Locating the right places within an FDE, however,
> is rather cumbersome without a way to insert labels in the resulting
> section. Hence this patch introduces a new directive, .cfi_label. Note
> that with the way CFI data gets emitted currently (at the end of the
> assembly process) this can't support local FB- and dollar-labels.
>
> gas/
> 2014-12-19 Jan Beulich <jbeulich@suse.com>
>
> * gas/dw2gencfi.c (cfi_add_label, dot_cfi_label): New.
> (cfi_pseudo_table): Add "cfi_label".
> (output_cfi_insn): Handle CFI_label.
> (select_cie_for_fde): Als terminate CIE when encountering
> CFI_label.
> * dw2gencfi.h (cfi_add_label): Declare.
> (struct cfi_insn_data): New member "sym_name".
> (CFI_label): New.
> * read.c (read_symbol_name): Drop "static".
> * read.h (read_symbol_name): Declare.
>
No testcases?
--
H.J.
More information about the Binutils
mailing list