http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59837
Bug ID: 59837 Summary: [ARM] ICE when building linux-linaro-tracking Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zhenqiang.chen at linaro dot org Created attachment 31849 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31849&action=edit testcase arm-linux-gnueabi-gcc neon.c -Os -fno-omit-frame-pointer -mapcs -mabi=aapcs-linux -mfloat-abi=softfp -mfpu=neon -g -S -marm neon.c: In function ‘raid6_neon4_gen_syndrome_real’: neon.c:79:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090 Root cause: When expanding epilogue, REG_CFA_ADJUST_CFA NOTE is added to handle dwarf info issue for shrink-wrap. But for TARGET_APCS_FRAME, shrink-wrap is disabled. And not all dwarf info in arm_expand_epilogue_apcs_frame are correctly updated. arm_emit_vfp_multi_reg_pop is called by both arm_expand_epilogue_apcs_frame and arm_expand_epilogue. So we should not add the NOTE in arm_emit_vfp_multi_reg_pop if shrink-wrap is not enabled.