+2018-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/87414
+ * config/i386/i386.c: Include debug.h and dwarf2out.h.
+ (output_indirect_thunk): Emit DW_CFA_def_cfa_offset after the
+ call.
+
2018-09-25 Andrew Stubbs <ams@codesourcery.com>
* builtins.c (get_builtin_sync_mem): Force address mode conversion.
#include "ipa-fnsummary.h"
#include "wide-int-bitmask.h"
#include "tree-vector-builder.h"
+#include "debug.h"
+#include "dwarf2out.h"
/* This file should be included last. */
#include "target-def.h"
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2);
+ /* The above call insn pushed a word to stack. Adjust CFI info. */
+ if (flag_asynchronous_unwind_tables && dwarf2out_do_frame ())
+ {
+ if (! dwarf2out_do_cfi_asm ())
+ {
+ dw_cfi_ref xcfi = ggc_cleared_alloc<dw_cfi_node> ();
+ xcfi->dw_cfi_opc = DW_CFA_advance_loc4;
+ xcfi->dw_cfi_oprnd1.dw_cfi_addr = ggc_strdup (indirectlabel2);
+ vec_safe_push (cfun->fde->dw_fde_cfi, xcfi);
+ }
+ dw_cfi_ref xcfi = ggc_cleared_alloc<dw_cfi_node> ();
+ xcfi->dw_cfi_opc = DW_CFA_def_cfa_offset;
+ xcfi->dw_cfi_oprnd1.dw_cfi_offset = 2 * UNITS_PER_WORD;
+ vec_safe_push (cfun->fde->dw_fde_cfi, xcfi);
+ dwarf2out_emit_cfi (xcfi);
+ }
+
if (regno != INVALID_REGNUM)
{
/* MOV. */