Re: [PATCH] More trivial bits from early LTO debug merge
Hi! On Mon, 19 Sep 2016 09:53:13 +0200 (CEST), Richard Biener wrote: > * debug.h (gcc_debug_hooks): Add filename parameter to early_finish > hook. > [...] With contrib/config-list.mk testing, I noticed another one that needed to be updated; log/alpha-dec-vms-make.out, log/alpha64-dec-vms-make.out, log/ia64-hp-vms-make.out: [...]/source-gcc/gcc/vmsdbgout.c:209:1: error: invalid conversion from 'void (*)()' to 'void (*)(const char*)' [-fpermissive] }; ^ make[2]: *** [vmsdbgout.o] Error 1 As obvious, committed to trunk in r241042: commit 706cf22169f5881765aa12affda63d80b372e47d Author: tschwinge Date: Wed Oct 12 13:08:53 2016 + Fix gcc/vmsdbgout.c:vmsdbg_debug_hooks for "More trivial bits from early LTO debug merge" gcc/ * vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to early_finish hook. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241042 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 + gcc/vmsdbgout.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git gcc/ChangeLog gcc/ChangeLog index 8044af0..e57438e 100644 --- gcc/ChangeLog +++ gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-10-12 Thomas Schwinge + + * vmsdbgout.c (vmsdbg_debug_hooks): Add filename parameter to + early_finish hook. + 2016-10-12 Georg-Johann Lay * rtl.h (struct rtx_def): Comment how RTX_FLAGS will be diff --git gcc/vmsdbgout.c gcc/vmsdbgout.c index 7c6d64d..23f7631 100644 --- gcc/vmsdbgout.c +++ gcc/vmsdbgout.c @@ -174,7 +174,7 @@ static void vmsdbgout_abstract_function (tree); const struct gcc_debug_hooks vmsdbg_debug_hooks = {vmsdbgout_init, vmsdbgout_finish, - debug_nothing_void, + debug_nothing_charstar, vmsdbgout_assembly_start, vmsdbgout_define, vmsdbgout_undef, Grüße Thomas
Re: [PATCH] More trivial bits from early LTO debug merge
On Tue, 20 Sep 2016, David Edelsohn wrote: > dbxout.c has two definitions of the structure: dbx and xcoff. The > patch forgot to update the xcoff one (lucky AIX :-). Oops, sorry. I wonder why this is all guarded by #if defined (XCOFF_DEBUGGING_INFO)? Ah, for some reason everything it references is not in this file (ok, most of it ...). Richard. > * dbxout.c (xcoff_debug_hooks): Add filename parameter to early_finish hook. > > Thanks, David > > Index: dbxout.c > === > --- dbxout.c(revision 240270) > +++ dbxout.c(working copy) > @@ -388,8 +388,8 @@ const struct gcc_debug_hooks xcoff_debug_hooks = > { >dbxout_init, >dbxout_finish, > + debug_nothing_charstar, >debug_nothing_void, > - debug_nothing_void, >debug_nothing_int_charstar, >debug_nothing_int_charstar, >dbxout_start_source_file, > > -- Richard Biener SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
Re: [PATCH] More trivial bits from early LTO debug merge
dbxout.c has two definitions of the structure: dbx and xcoff. The patch forgot to update the xcoff one (lucky AIX :-). * dbxout.c (xcoff_debug_hooks): Add filename parameter to early_finish hook. Thanks, David Index: dbxout.c === --- dbxout.c(revision 240270) +++ dbxout.c(working copy) @@ -388,8 +388,8 @@ const struct gcc_debug_hooks xcoff_debug_hooks = { dbxout_init, dbxout_finish, + debug_nothing_charstar, debug_nothing_void, - debug_nothing_void, debug_nothing_int_charstar, debug_nothing_int_charstar, dbxout_start_source_file,
Re: [PATCH] More trivial bits from early LTO debug merge
OK. On Mon, Sep 19, 2016 at 3:53 AM, Richard Biener wrote: > > This merges moving filename and related CU annotation from late finish > to early finish. With this all changes to cgraphunit.c have been merged. > > [LTO] Bootstrap and test running on x86_64-unknown-linux-gnu. > > Richard. > > 2016-09-19 Richard Biener > > * debug.h (gcc_debug_hooks): Add filename parameter to early_finish > hook. > * debug.c (do_nothing_debug_hooks): Adjust. > * dbxout.c (dbx_debug_hooks): Likewise. > * sdbout.c (sdb_debug_hooks): Likewise. > * dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise. > (dwarf2out_finish): Move producer, filename and > path annotation ... > (dwarf2out_early_finish): ... here. Remove in_lto_p special-casing. > * cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust. > > lto/ > * lto.c (lto_main): Call early_finish with "" as > filename. > > Index: gcc/debug.h > === > --- gcc/debug.h (revision 240228) > +++ gcc/debug.h (working copy) > @@ -31,7 +31,7 @@ struct gcc_debug_hooks >void (* finish) (const char *main_filename); > >/* Run cleanups necessary after early debug generation. */ > - void (* early_finish) (void); > + void (* early_finish) (const char *main_filename); > >/* Called from cgraph_optimize before starting to assemble > functions/variables/toplevel asms. */ > Index: gcc/debug.c > === > --- gcc/debug.c (revision 240228) > +++ gcc/debug.c (working copy) > @@ -26,7 +26,7 @@ const struct gcc_debug_hooks do_nothing_ > { >debug_nothing_charstar, >debug_nothing_charstar, > - debug_nothing_void, /* early_finish */ > + debug_nothing_charstar, /* early_finish */ >debug_nothing_void, >debug_nothing_int_charstar, >debug_nothing_int_charstar, > Index: gcc/dbxout.c > === > --- gcc/dbxout.c(revision 240228) > +++ gcc/dbxout.c(working copy) > @@ -344,7 +344,7 @@ const struct gcc_debug_hooks dbx_debug_h > { >dbxout_init, >dbxout_finish, > - debug_nothing_void, > + debug_nothing_charstar, >debug_nothing_void, >debug_nothing_int_charstar, >debug_nothing_int_charstar, > Index: gcc/sdbout.c > === > --- gcc/sdbout.c(revision 240228) > +++ gcc/sdbout.c(working copy) > @@ -277,7 +277,7 @@ const struct gcc_debug_hooks sdb_debug_h > { >sdbout_init, /* init */ >sdbout_finish,/* finish */ > - debug_nothing_void, /* early_finish */ > + debug_nothing_charstar, /* early_finish */ >debug_nothing_void, /* assembly_start */ >debug_nothing_int_charstar, /* define */ >debug_nothing_int_charstar, /* undef */ > Index: gcc/cgraphunit.c > === > --- gcc/cgraphunit.c(revision 240228) > +++ gcc/cgraphunit.c(working copy) > @@ -2561,7 +2564,7 @@ symbol_table::finalize_compilation_unit > >/* Clean up anything that needs cleaning up after initial debug > generation. */ > - (*debug_hooks->early_finish) (); > + (*debug_hooks->early_finish) (main_input_filename); > } > >/* Finally drive the pass manager. */ > Index: gcc/lto/lto.c > === > --- gcc/lto/lto.c (revision 240228) > +++ gcc/lto/lto.c (working copy) > @@ -3316,7 +3316,7 @@ lto_main (void) > lto_promote_statics_nonwpa (); > > /* Annotate the CU DIE and mark the early debug phase as finished. > */ > - debug_hooks->early_finish (); > + debug_hooks->early_finish (""); > > /* Let the middle end know that we have read and merged all of > the input files. */ > Index: gcc/dwarf2out.c > === > --- gcc/dwarf2out.c (revision 240228) > +++ gcc/dwarf2out.c (working copy) > @@ -2480,7 +2480,7 @@ build_cfa_aligned_loc (dw_cfa_location * > > static void dwarf2out_init (const char *); > static void dwarf2out_finish (const char *); > -static void dwarf2out_early_finish (void); > +static void dwarf2out_early_finish (const char *); > static void dwarf2out_assembly_start (void); > static void dwarf2out_define (unsigned int, const char *); > static void dwarf2out_undef (unsigned int, const char *); > @@ -2556,7 +2556,7 @@ const struct gcc_debug_hooks dwarf2_line > { >dwarf2out_init, >debug_nothing_charstar, > - debug_nothing_void, > + debug_nothing_charstar, >debug_nothing_void, >debug_nothing_int_charstar, >debug_
[PATCH] More trivial bits from early LTO debug merge
This merges moving filename and related CU annotation from late finish to early finish. With this all changes to cgraphunit.c have been merged. [LTO] Bootstrap and test running on x86_64-unknown-linux-gnu. Richard. 2016-09-19 Richard Biener * debug.h (gcc_debug_hooks): Add filename parameter to early_finish hook. * debug.c (do_nothing_debug_hooks): Adjust. * dbxout.c (dbx_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * dwarf2out.c (dwarf2_lineno_debug_hooks): Likewise. (dwarf2out_finish): Move producer, filename and path annotation ... (dwarf2out_early_finish): ... here. Remove in_lto_p special-casing. * cgraphunit.c (symbol_table::finalize_compilation_unit): Adjust. lto/ * lto.c (lto_main): Call early_finish with "" as filename. Index: gcc/debug.h === --- gcc/debug.h (revision 240228) +++ gcc/debug.h (working copy) @@ -31,7 +31,7 @@ struct gcc_debug_hooks void (* finish) (const char *main_filename); /* Run cleanups necessary after early debug generation. */ - void (* early_finish) (void); + void (* early_finish) (const char *main_filename); /* Called from cgraph_optimize before starting to assemble functions/variables/toplevel asms. */ Index: gcc/debug.c === --- gcc/debug.c (revision 240228) +++ gcc/debug.c (working copy) @@ -26,7 +26,7 @@ const struct gcc_debug_hooks do_nothing_ { debug_nothing_charstar, debug_nothing_charstar, - debug_nothing_void, /* early_finish */ + debug_nothing_charstar, /* early_finish */ debug_nothing_void, debug_nothing_int_charstar, debug_nothing_int_charstar, Index: gcc/dbxout.c === --- gcc/dbxout.c(revision 240228) +++ gcc/dbxout.c(working copy) @@ -344,7 +344,7 @@ const struct gcc_debug_hooks dbx_debug_h { dbxout_init, dbxout_finish, - debug_nothing_void, + debug_nothing_charstar, debug_nothing_void, debug_nothing_int_charstar, debug_nothing_int_charstar, Index: gcc/sdbout.c === --- gcc/sdbout.c(revision 240228) +++ gcc/sdbout.c(working copy) @@ -277,7 +277,7 @@ const struct gcc_debug_hooks sdb_debug_h { sdbout_init, /* init */ sdbout_finish,/* finish */ - debug_nothing_void, /* early_finish */ + debug_nothing_charstar, /* early_finish */ debug_nothing_void, /* assembly_start */ debug_nothing_int_charstar, /* define */ debug_nothing_int_charstar, /* undef */ Index: gcc/cgraphunit.c === --- gcc/cgraphunit.c(revision 240228) +++ gcc/cgraphunit.c(working copy) @@ -2561,7 +2564,7 @@ symbol_table::finalize_compilation_unit /* Clean up anything that needs cleaning up after initial debug generation. */ - (*debug_hooks->early_finish) (); + (*debug_hooks->early_finish) (main_input_filename); } /* Finally drive the pass manager. */ Index: gcc/lto/lto.c === --- gcc/lto/lto.c (revision 240228) +++ gcc/lto/lto.c (working copy) @@ -3316,7 +3316,7 @@ lto_main (void) lto_promote_statics_nonwpa (); /* Annotate the CU DIE and mark the early debug phase as finished. */ - debug_hooks->early_finish (); + debug_hooks->early_finish (""); /* Let the middle end know that we have read and merged all of the input files. */ Index: gcc/dwarf2out.c === --- gcc/dwarf2out.c (revision 240228) +++ gcc/dwarf2out.c (working copy) @@ -2480,7 +2480,7 @@ build_cfa_aligned_loc (dw_cfa_location * static void dwarf2out_init (const char *); static void dwarf2out_finish (const char *); -static void dwarf2out_early_finish (void); +static void dwarf2out_early_finish (const char *); static void dwarf2out_assembly_start (void); static void dwarf2out_define (unsigned int, const char *); static void dwarf2out_undef (unsigned int, const char *); @@ -2556,7 +2556,7 @@ const struct gcc_debug_hooks dwarf2_line { dwarf2out_init, debug_nothing_charstar, - debug_nothing_void, + debug_nothing_charstar, debug_nothing_void, debug_nothing_int_charstar, debug_nothing_int_charstar, @@ -27804,7 +27804,7 @@ flush_limbo_die_list (void) and generate the DWARF-2 debugging info. */ static void -dwarf2out_finish (const char *filename) +dwarf2out_finish (const char *) { comdat_type_node *ctnode; dw_die_ref main_comp_unit_die; @@ -27816,34 +