* dw2gencfi.c (select_cie_for_fde): When separating CIE out
[deliverable/binutils-gdb.git] / gas / dw2gencfi.c
index 05d7e3d60f7cbae42a3ff2fe3e756f50084b3a9f..3937329e402f35c0870417a9915cdd6b5d918282 100644 (file)
@@ -975,8 +975,12 @@ select_cie_for_fde (struct fde_entry *fde, struct cfi_insn_data **pfirst)
        }
 
       /* Success if we reached the end of the CIE list, and we've either
-        run out of FDE entries or we've encountered an advance.  */
-      if (i == cie->last && (!j || j->insn == DW_CFA_advance_loc))
+        run out of FDE entries or we've encountered an advance or
+        escape.  */
+      if (i == cie->last
+         && (!j
+             || j->insn == DW_CFA_advance_loc
+             || j->insn == CFI_escape))
        {
          *pfirst = j;
          return cie;
@@ -992,7 +996,8 @@ select_cie_for_fde (struct fde_entry *fde, struct cfi_insn_data **pfirst)
   cie->first = fde->data;
 
   for (i = cie->first; i ; i = i->next)
-    if (i->insn == DW_CFA_advance_loc)
+    if (i->insn == DW_CFA_advance_loc
+       || i->insn == CFI_escape)
       break;
 
   cie->last = i;
This page took 0.03214 seconds and 4 git commands to generate.