gcc-4.8: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1078

Bug #1429894 reported by Andy Whitcroft on 2015-03-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Fix Released
High
gcc-4.8 (Ubuntu)
Undecided
Unassigned

Bug Description

Seeing these when trying to compile linux-lts-vivid (v3.19 kernel) on the trusty compiler, also on the proposed SRU version:

  lib/raid6/neon4.c: In function 'raid6_neon4_gen_syndrome_real':
  lib/raid6/neon4.c:113:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1078
   }
   ^
   Please submit a full bug report,
  with preprocessed source if appropriate.
  See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
  Preprocessed source stored into /tmp/ccg57WPc.out file, please attach this to your bugreport.

Andy Whitcroft (apw) wrote :
Matthias Klose (doko) wrote :

$ cat neon4.i
typedef uint8x16_t __attribute__((__vector_size__(16)));
typedef uint8x16_t unative_t;
raid6_neon4_gen_syndrome_real_d;
fn1() {
  uint8x16_t __trans_tmp_1;
  unative_t wq2;
  for (; raid6_neon4_gen_syndrome_real_d;) {
    fn2();
    fn2(wq2);
    wq2 = __trans_tmp_1;
  }
}

$ gcc-4.8 -mapcs -mabi=aapcs-linux -mno-thumb-interwork -marm -march=armv7-a -mfloat-abi=softfp -mfpu=neon -g -gdwarf-4 -O2 -std=gnu90 -fno-strict-aliasing -fno-common -fno-dwarf2-cfi-asm -funwind-tables -fno-delete-null-pointer-checks -fstack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -fno-inline-functions-called-once -fno-strict-overflow -fconserve-stack -ffreestanding neon4.i
neon4.i:3:1: warning: data definition has no type or storage class [enabled by default]
 raid6_neon4_gen_syndrome_real_d;
 ^
neon4.i: In function 'fn1':
neon4.i:12:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1078
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.

not seen when building with -O1

Changed in gcc-4.8 (Ubuntu):
status: New → Confirmed

seen with Linaro 4.8, works on the fsf 4.8 branch, can be avoided by using -O1

$ cat neon4.i
typedef uint8x16_t __attribute__((__vector_size__(16)));
typedef uint8x16_t unative_t;
raid6_neon4_gen_syndrome_real_d;
fn1() {
  uint8x16_t __trans_tmp_1;
  unative_t wq2;
  for (; raid6_neon4_gen_syndrome_real_d;) {
    fn2();
    fn2(wq2);
    wq2 = __trans_tmp_1;
  }
}

$ gcc-4.8 -mapcs -mabi=aapcs-linux -mno-thumb-interwork -marm -march=armv7-a -mfloat-abi=softfp -mfpu=neon -g -gdwarf-4 -O2 -std=gnu90 -fno-strict-aliasing -fno-common -fno-dwarf2-cfi-asm -funwind-tables -fno-delete-null-pointer-checks -fstack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -fno-inline-functions-called-once -fno-strict-overflow -fconserve-stack -ffreestanding neon4.i
neon4.i:3:1: warning: data definition has no type or storage class [enabled by default]
 raid6_neon4_gen_syndrome_real_d;
 ^
neon4.i: In function 'fn1':
neon4.i:12:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1078
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.

Changed in gcc-linaro:
importance: Unknown → High
status: Unknown → New

Created attachment 289
preprocessed source

the unreduced test case ICEs with -O0 too.

How is your GCC configured?
I've just rebuilt our 4.8 branch for arm-none-linux-gnueabihf and I cannot reproduce the ICE you are seeing.

this seems to be fixed with current Linaro 4.8, was originally found in 4.8-2014.03. any hint on the specific fix?

It was fixed on our 4.8 branch at r209009 by backporting upstream fix for PR60264 (r208511):

    gcc/
    2014-04-02 Zhenqiang Chen <email address hidden>

        Backport from trunk r208511
        2014-03-12 Christian Bruel <email address hidden>

        PR target/60264
        * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
        REG_CFA_DEF_CFA note.
        (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
        (arm_unwind_emit): Allow REG_CFA_DEF_CFA.

    gcc/testsuite/
    2014-04-02 Zhenqiang Chen <email address hidden>

        Backport from trunk r208511
        2014-03-12 Christian Bruel <email address hidden>

        PR target/60264
        * gcc.target/arm/pr60264.c

Changed in gcc-linaro:
status: New → Fix Released
Matthias Klose (doko) wrote :

now fixed in trusty-proposed

Changed in gcc-4.8 (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.