diff options
author | Jan Beulich <jbeulich@novell.com> | 2015-02-06 09:11:09 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2015-02-06 09:11:09 +0100 |
commit | 73e7610887dfd4313b66f33436bc18570d58b2ac (patch) | |
tree | 380aa9e1f0bfa07d574994794283837a0986d4fc | |
parent | e9fbd0432f8ab3983b166ae0b4d3e2ab6fbc8cf3 (diff) | |
download | fsf-binutils-gdb-73e7610887dfd4313b66f33436bc18570d58b2ac.zip fsf-binutils-gdb-73e7610887dfd4313b66f33436bc18570d58b2ac.tar.gz fsf-binutils-gdb-73e7610887dfd4313b66f33436bc18570d58b2ac.tar.bz2 |
gas: fix a few omissions in .cfi_label handling
While actually starting to use that new directive, I noticed a few
oversights of the original commit.
gas/
2015-02-06 Jan Beulich <jbeulich@suse.com>
* dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label.
(cfi_change_reg_numbers): Also do nothing for CFI_label.
(cfi_pseudo_table): Also handle .cfi_label when not supporting
CFI directives.
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/dw2gencfi.c | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index f354c22..bff5d8e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2015-02-06 Jan Beulich <jbeulich@suse.com> + + * dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label. + (cfi_change_reg_numbers): Also do nothing for CFI_label. + (cfi_pseudo_table): Also handle .cfi_label when not supporting + CFI directives. + 2015-02-05 Alan Modra <amodra@gmail.com> * config/tc-msp430.c (md_assemble): Correct size passed to diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 6a80d0b..ef97e18 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -1759,6 +1759,7 @@ select_cie_for_fde (struct fde_entry *fde, bfd_boolean eh_frame, case CFI_escape: case CFI_val_encoded_addr: + case CFI_label: /* Don't bother matching these for now. */ goto fail; @@ -1775,7 +1776,8 @@ select_cie_for_fde (struct fde_entry *fde, bfd_boolean eh_frame, || j->insn == DW_CFA_advance_loc || j->insn == DW_CFA_remember_state || j->insn == CFI_escape - || j->insn == CFI_val_encoded_addr)) + || j->insn == CFI_val_encoded_addr + || j->insn == CFI_label)) { *pfirst = j; return cie; @@ -1827,6 +1829,7 @@ cfi_change_reg_numbers (struct cfi_insn_data *insn, segT ccseg) case DW_CFA_restore_state: case DW_CFA_GNU_window_save: case CFI_escape: + case CFI_label: break; case DW_CFA_def_cfa: @@ -2072,6 +2075,7 @@ const pseudo_typeS cfi_pseudo_table[] = { "cfi_personality", dot_cfi_dummy, 0 }, { "cfi_lsda", dot_cfi_dummy, 0 }, { "cfi_val_encoded_addr", dot_cfi_dummy, 0 }, + { "cfi_label", dot_cfi_dummy, 0 }, { NULL, NULL, 0 } }; |