asan: score: global-buffer-overflow
[deliverable/binutils-gdb.git] / gas / dw2gencfi.c
index e27253db8ee9277db2408327c2977f152e5095dc..39f9de4b2837eee6a56cd864089f95f2f22b30e0 100644 (file)
@@ -726,6 +726,7 @@ const pseudo_typeS cfi_pseudo_table[] =
     { "cfi_remember_state", dot_cfi, DW_CFA_remember_state },
     { "cfi_restore_state", dot_cfi, DW_CFA_restore_state },
     { "cfi_window_save", dot_cfi, DW_CFA_GNU_window_save },
+    { "cfi_negate_ra_state", dot_cfi, DW_CFA_AARCH64_negate_ra_state },
     { "cfi_escape", dot_cfi_escape, 0 },
     { "cfi_signal_frame", dot_cfi, CFI_signal_frame },
     { "cfi_personality", dot_cfi_personality, 0 },
@@ -1887,7 +1888,12 @@ output_cie (struct cie_entry *cie, bfd_boolean eh_frame, int align)
   out_uleb128 (DWARF2_LINE_MIN_INSN_LENGTH);   /* Code alignment.  */
   out_sleb128 (DWARF2_CIE_DATA_ALIGNMENT);     /* Data alignment.  */
   if (flag_dwarf_cie_version == 1)             /* Return column.  */
-    out_one (cie->return_column);
+    {
+      if ((cie->return_column & 0xff) != cie->return_column)
+       as_bad (_("return column number %d overflows in CIE version 1"),
+               cie->return_column);
+      out_one (cie->return_column);
+    }
   else
     out_uleb128 (cie->return_column);
   if (eh_frame)
This page took 0.024481 seconds and 4 git commands to generate.