Message ID | 753850da-5a04-bff4-c434-72414a35c19a@mentor.com |
---|---|
State | New |
Headers | show |
Series | [vms,committed] Add missing vmsdbgout_early_finish | expand |
On November 19, 2017 1:09:48 AM GMT+01:00, Tom de Vries <Tom_deVries@mentor.com> wrote: >Hi, > >atm, any build for vms os will fail early in libgcc. > >dwarf2_debug_hooks.early_finish needs to be called before >dwarf2_debug_hooks.finish. > >However, while vmsdbgout_finish calls dwarf2_debug_hooks.finish there's > >no vmsdbgout_early_finish, and dwarf2_debug_hooks.early_finish is not >called otherwise. > >This patch fixes that, by adding vmsdbgout_early_finish calling >dwarf2_debug_hooks.early_finish. > >I don't have a setup to build and test for vms os. I've built this for >alpha-dec-vms as far as I can, which is until: >... >src/libgcc/config/alpha/vms-gcc_shell_handler.c:32:10: fatal error: >vms/chfdef.h: No such file or directory >... > >Approved at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82961#c8 . > >Committed to trunk. > >This is a 6/7 regression, but I'm somewhat reluctant to check this into > >release branches without proper build and test (though checking it in >will probably unbreak the build). Maybe it's time to deprecate/remove VMS support instead? Given nobody noticed in three years... Richard. >Thanks, >- Tom
[vms] Add missing vmsdbgout_early_finish 2017-11-18 Tom de Vries <tom@codesourcery.com> PR target/82961 * vmsdbgout.c (vmsdbgout_early_finish): New function. (vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish. --- gcc/vmsdbgout.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c index 580dd28..91dcd2e 100644 --- a/gcc/vmsdbgout.c +++ b/gcc/vmsdbgout.c @@ -147,6 +147,7 @@ static int write_srccorrs (int); static void vmsdbgout_init (const char *); static void vmsdbgout_finish (const char *); +static void vmsdbgout_early_finish (const char *); static void vmsdbgout_assembly_start (void); static void vmsdbgout_define (unsigned int, const char *); static void vmsdbgout_undef (unsigned int, const char *); @@ -176,7 +177,7 @@ static void vmsdbgout_abstract_function (tree); const struct gcc_debug_hooks vmsdbg_debug_hooks = {vmsdbgout_init, vmsdbgout_finish, - debug_nothing_charstar, + vmsdbgout_early_finish, vmsdbgout_assembly_start, vmsdbgout_define, vmsdbgout_undef, @@ -1556,6 +1557,13 @@ vmsdbgout_abstract_function (tree decl) (*dwarf2_debug_hooks.outlining_inline_function) (decl); } +static void +vmsdbgout_early_finish (const char *filename) +{ + if (write_symbols == VMS_AND_DWARF2_DEBUG) + (*dwarf2_debug_hooks.early_finish) (filename); +} + /* Output stuff that Debug requires at the end of every file and generate the VMS Debug debugging info. */