diff mbox series

[vms,committed] Add missing vmsdbgout_early_finish

Message ID 753850da-5a04-bff4-c434-72414a35c19a@mentor.com
State New
Headers show
Series [vms,committed] Add missing vmsdbgout_early_finish | expand

Commit Message

Tom de Vries Nov. 19, 2017, 12:09 a.m. UTC
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).

Thanks,
- Tom

Comments

Richard Biener Nov. 19, 2017, 11:40 a.m. UTC | #1
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
diff mbox series

Patch

[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.  */