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]

[PATCH] 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-05  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.

--- a/gas/dw2gencfi.c
+++ b/gas/dw2gencfi.c
@@ -1759,6 +1759,7 @@ select_cie_for_fde (struct fde_entry *fd
 
 	    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 *fd
 	      || 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_
 	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 }
   };
 




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