Home > Internal Compiler > Internal Compiler Error In Output Die At Dwarf2out.c

Internal Compiler Error In Output Die At Dwarf2out.c

See the GNU General Public License for more details. See for instructions. Comment 3 Jan Hubicka 2011-04-08 15:17:33 UTC To me all those debugging ICEs seems alike, but bugzilla don't seem to find any other output_die ICE. symbolic debug info), by setting the parameter < 0. weblink

The CFA register and offset, which may change during the course of the function, are used to calculate its value at runtime. If not see . */ /* TODO: Emit .debug_line header even when there are no functions, since the file numbers are used by .debug_info. Comment 5 Richard Biener 2011-05-26 11:51:37 UTC Created attachment 24363 [details] reduced testcase Reduced to two files, delta-reduced, independend on file order > g++ -g -flto -O2 -r -nostdlib jsinterp.3.ii jsatom.3.ii Now the question is what guarantees that this does not happen? https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54694

flag_pic || ((fde_encoding & 0x70) != DW_EH_PE_absptr && (fde_encoding & 0x70) != DW_EH_PE_aligned && (per_encoding & 0x70) != DW_EH_PE_absptr && (per_encoding & 0x70) != DW_EH_PE_aligned && (lsda_encoding & 0x70) != DW_EH_PE_absptr We recommend upgrading to the latest Safari, Google Chrome, or Firefox. L Indicates the encoding (and thus presence) of an LSDA pointer in the FDE augmentation. data_section : readonly_data_section); #endif /* EH_FRAME_SECTION_NAME */ } switch_to_section (eh_frame_section); #ifdef EH_FRAME_THROUGH_COLLECT2 /* We have no special eh_frame section.

Don't optimize if an signed integer overflow would happen. */ if (p != NULL && ((offset > 0 && *p <= INTTYPE_MAXIMUM (HOST_WIDE_INT) - offset) || (offset < 0 && *p Instead create a stub DIE without a type if we have a context DIE present. * g++.dg/lto/pr65549_0.C: New testcase. 2015-06-01 Richard Biener PR tree-optimization/66280 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern def-use Not sure if that is related, though (as, -fno-early-inlining does not help for this bug). Or is this an odering issue somehow and the two DIEs should have been created in the opposite order?

So my theory still stands that somehow this clash is forseen but we make sure to create all DIE references "in proper order" so that this doesn't matter? The second part, controlled only by an #ifdef DWARF2_DEBUGGING_INFO, deals with the other DWARF 2 debugging information. */ /* DWARF2 Abbreviation Glossary: CFA = Canonical Frame Address a fixed address on PR lto/48508 PR lto/48437 * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL VAR_DECLs and FUNCTION_DECLs locally. * g++.dg/lto/pr48508-1_0.C: New testcase. * g++.dg/lto/pr48508-1_1.C: Likewise. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508 Comment 1 Jan Hubicka 2011-04-07 23:25:43 UTC Created attachment 23922 [details] testcase Comment 2 Richard Biener 2011-04-08 10:09:15 UTC I think I've seen this before ...

Comment 23 Richard Biener 2015-04-17 07:58:25 UTC When doing LTO early-debug work I stumbled over one reason we can crash here which I fixed with Index: dwarf2out.c =================================================================== *** dwarf2out.c (revision Bug53756 - [C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto () Summary: [C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and ope... Note that the creation of the dup doesn't go through decls_for_scope at all. The reason why we end up populating the limbo_die_list from the force_decl_die path is because we refuse to put the context (the __lambda2 type) into its context (the main function which

Comment 11 H.J. his comment is here Comment 7 Jakub Jelinek 2015-03-30 15:55:57 UTC (In reply to Richard Biener from comment #6) > Btw, I always wondered why dwarf2out.c doesn't create such stubs itself when > it requires The only possible resolution I could see is to generate an error or sorry earlier, before the ICE. Added: branches/gcc-5-branch/gcc/testsuite/g++.dg/conversion/pr66211.C branches/gcc-5-branch/gcc/testsuite/g++.dg/lto/pr65549_0.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280-2.C branches/gcc-5-branch/gcc/testsuite/g++.dg/torture/pr66280.C branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66123.c branches/gcc-5-branch/gcc/testsuite/gcc.dg/torture/pr66272.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/dwarf2out.c branches/gcc-5-branch/gcc/match.pd branches/gcc-5-branch/gcc/testsuite/ChangeLog branches/gcc-5-branch/gcc/testsuite/gcc.dg/tree-ssa/forwprop-18.c branches/gcc-5-branch/gcc/tree-data-ref.c branches/gcc-5-branch/gcc/tree-data-ref.h branches/gcc-5-branch/gcc/tree-ssa-dom.c branches/gcc-5-branch/gcc/tree-vect-slp.c Comment 35 Richard Biener 2015-06-03 11:03:59 UTC Author: rguenth Date: Wed Jun 3 11:03:26

symbolic debug info), by setting the parameter < 0. have a peek at these guys Personal Open source Business Explore Sign up Sign in Pricing Blog Support Search GitHub This repository Watch 62 Star 538 Fork 223 gflags/gflags Code Issues 22 Pull requests 1 Projects See for instructions. COLLECT_GCC=/usr/bin/g++-4.8.real COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.1-2ubuntu1~13.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk

gen_type_die does: /* If this is an array type with hidden descriptor, handle it first. */ if (!TREE_ASM_WRITTEN (type) && lang_hooks.types.get_array_descr_info && lang_hooks.types.get_array_descr_info (type, &info)) { gen_descr_array_type_die (type, &info, context_die); TREE_ASM_WRITTEN Already have an account? So at least for branches I think my patch is the way to go - eventually guarded with in_lto_p (if you really insist on that...) Comment 31 Eric Botcazou 2015-04-27 09:15:44 http://wiiplay.net/internal-compiler/internal-compiler-error-in-dwarf2out-finish-at-dwarf2out-c.html Lu from comment #12) > > *** Bug 59763 has been marked as a duplicate of this bug. *** > > Are you sure this is a duplicate?

Comment 9 Joost VandeVondele 2013-11-28 12:08:08 UTC works with a gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) fails with trunk. That is, the comp_dir and dwo_name will appear in both places. 2) Strings can use three forms: DW_FORM_string, DW_FORM_strp or DW_FORM_GNU_str_index. 3) GCC chooses the form to use late, depending on Can you clarify if the ICE happens with "-g -O2", or is it only with -g? (Though I was unable to reproduce the problem in either case.) Can you maybe attach

You already found one, it sounds like, which involves adding an extern declaration?

Bug54694 - [4.7/4.8 Regression] internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387 Summary: [4.7/4.8 Regression] internal compiler error: in dwarf2out_frame_debug_expr, ... l) return size; for (size = 0, l = loc; l != NULL; l = l->dw_loc_next) { l->dw_loc_addr = size; size += size_of_loc_descr (l); } return size; } /* Return the PTR_SIZE : DWARF2_ADDR_SIZE))); ASM_OUTPUT_LABEL (asm_out_file, l2); j += 2; } /* Return true if frame description entry FDE is needed for EH. */ static bool fde_needed_for_eh_p (dw_fde_ref fde) { if (flag_asynchronous_unwind_tables) It's the use of the global register of EBP that's causing the problem.

PTR_SIZE : DWARF2_ADDR_SIZE)); ASM_OUTPUT_LABEL (asm_out_file, l2); /* Loop through all of the FDE's. */ FOR_EACH_VEC_ELT (*fde_vec, i, fde) { unsigned int k; /* Don't emit EH unwind info for leaf functions The GAS support isn't entirely consistent. gen_type_die_with_usage, atdwarf2out.c:19493To manage notifications about this bug go to:https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1517768/+subscriptions--ubuntu-bugs mailing listubuntu-***@lists.ubuntu.comhttps://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs 0 Replies 1 View Switch to linear view Disable enhanced parsing Permalink to this page Thread Navigation Stephen Mathews 2015-11-19 this content If we've not created the FDE yet, do so now. */ fde = cfun->fde; if (fde == NULL) fde = dwarf2out_alloc_current_fde (); /* Initialize the bits of CURRENT_FDE that were not

The answer is possibly because dwarf2out.c would do so only when a proper debug hook is called from the frontend. Can you try modifying the DEFINE_* macro in gflags.h, to put an "extern" declaration in various places, and see if you can find an incantation that quiets the compiler? (This is add_AT_flag (tdie, DW_AT_external, 1); ! app-emulation/qemu1.4.2 doesn't show the error Comment 17 Richard Henderson 2014-01-15 21:41:35 UTC Author: rth Date: Wed Jan 15 21:41:03 2014 New Revision: 206647 URL: http://gcc.gnu.org/viewcvs?rev=206647&root=gcc&view=rev Log: PR debug/54694 Diagnose frame_pointer_required vs

You signed out in another tab or window. The DIE get's generated via #0 gen_formal_parameter_die (node=0x7ffff5b6f5d8, origin=0x0, emit_name_p=1 '\001', context_die=0x7ffff5bf0690) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:16703 #1 0x000000000062e8b6 in gen_decl_die (decl=0x7ffff5b6f5d8, origin=0x0, context_die=0x7ffff5bf0690) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19576 #2 0x0000000000624ac7 in gen_subprogram_die (decl=0x7ffff5b70d00, context_die=0x7ffff5bec410) at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:17496 Comment 19 Richard Henderson 2014-01-16 16:24:26 UTC Author: rth Date: Thu Jan 16 16:23:54 2014 New Revision: 206666 URL: http://gcc.gnu.org/viewcvs?rev=206666&root=gcc&view=rev Log: PR debug/54694 Diagnose frame_pointer_required vs fixed hfp Added: branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr54694.c Modified: Status: RESOLVED FIXED Alias: None Product: gcc Classification: Unclassified Component: c++ (show other bugs) Version: 4.8.0 Importance: P3 normal Target Milestone: 4.9.0 Assignee: Jason Merrill URL: Keywords: ice-on-valid-code Duplicates (3): 56014

So that explains that, but still this crash is happening with just -flto=4 (and default -flto-partition=balanced) for me.