+2016-10-06  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       PR gas/20648
+       * dw2gencfi.c (dot_cfi_sections): Refine the check for
+       inconsistent .cfi_sections to only consider compact vs non
+       compact forms.
+       * testsuite/gas/cfi/cfi-common-9.d: New file.
+       * testsuite/gas/cfi/cfi-common-9.s: New file.
+       * testsuite/gas/cfi/cfi.exp: Run new test.
+
 2016-10-06  Alan Modra  <amodra@gmail.com>
 
        * app.c: Add missing fall through comments.
 
       }
 
   demand_empty_rest_of_line ();
-  if (cfi_sections_set && cfi_sections != sections)
+  if (cfi_sections_set
+      && (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact))
+      && (cfi_sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact))
+        != (sections & (CFI_EMIT_eh_frame | CFI_EMIT_eh_frame_compact)))
     as_bad (_("inconsistent uses of .cfi_sections"));
   cfi_sections = sections;
 }
 
--- /dev/null
+#objdump: -Wf
+#name: CFI common 9
+#...
+Contents of the .eh_frame section:
+
+00000000 0+0010 0+0000 CIE
+  Version:               1
+  Augmentation:          "zR"
+  Code alignment factor: .*
+  Data alignment factor: .*
+  Return address column: .*
+  Augmentation data:     [01]b
+
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+
+00000014 0+00(10|18|1c|20) 0+0018 FDE cie=0+0000 pc=.*
+
+  DW_CFA_nop
+  DW_CFA_nop
+  DW_CFA_nop
+#...
 
--- /dev/null
+       .cfi_sections .eh_frame
+       .cfi_startproc simple
+       .cfi_sections .debug_frame
+       .cfi_endproc
 
   }
   run_dump_test "cfi-common-7"
   run_dump_test "cfi-common-8"
+  run_dump_test "cfi-common-9"
 }