Message ID | 12ee946e-ff3e-6113-8ebd-0e11b0f4ae8d@suse.cz |
---|---|
State | New |
Headers | show |
Series | ipa: dump symtab to emergency dump file | expand |
On 11/30/20 7:04 AM, Martin Liška wrote: > Hi. > > It's handy to have symbol table when we dump emergency dump. > It's likely next stage1 material. > > Thoughts? > Martin > > gcc/ChangeLog: > >     * passes.c (emergency_dump_function): Dump symtab when >     we are in an IPA pass. Your call now or next stage1.  We should keep in mind that if the symtab structures are inconsistent/corrupted that we can ICE or worse yet spin while dumping the symtab. Jeff
> > > On 11/30/20 7:04 AM, Martin Liška wrote: > > Hi. > > > > It's handy to have symbol table when we dump emergency dump. > > It's likely next stage1 material. > > > > Thoughts? > > Martin > > > > gcc/ChangeLog: > > > >     * passes.c (emergency_dump_function): Dump symtab when > >     we are in an IPA pass. > Your call now or next stage1.  We should keep in mind that if the > symtab structures are inconsistent/corrupted that we can ICE or worse > yet spin while dumping the symtab. We already dump function bodies that has same problem, so I think dumping symtab is fine (and I have no problem with it going to trunk this stage3) Honza > > Jeff >
On 11/30/20 4:50 PM, Jan Hubicka wrote: >> >> >> On 11/30/20 7:04 AM, Martin Liška wrote: >>> Hi. >>> >>> It's handy to have symbol table when we dump emergency dump. >>> It's likely next stage1 material. >>> >>> Thoughts? >>> Martin >>> >>> gcc/ChangeLog: >>> >>>     * passes.c (emergency_dump_function): Dump symtab when >>>     we are in an IPA pass. >> Your call now or next stage1.  We should keep in mind that if the >> symtab structures are inconsistent/corrupted that we can ICE or worse >> yet spin while dumping the symtab. > > We already dump function bodies that has same problem, so I think > dumping symtab is fine (and I have no problem with it going to trunk > this stage3) Thank you, I install the patch now. Martin > > Honza >> >> Jeff >>
diff --git a/gcc/passes.c b/gcc/passes.c index f71f63918f4..973c958f769 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1837,6 +1837,9 @@ emergency_dump_function () fnotice (stderr, "dump file: %s\n", dump_file_name); fprintf (dump_file, "\n\n\nEMERGENCY DUMP:\n\n"); execute_function_dump (cfun, current_pass); + + if (symtab && current_pass->type == IPA_PASS) + symtab->dump (dump_file); } static struct profile_record *profile_record;