rpms/gcc/F-12 gcc44-pr40521-2.patch,NONE,1.1

Jakub Jelinek jakub at fedoraproject.org
Fri Oct 16 16:56:36 UTC 2009


Author: jakub

Update of /cvs/pkgs/rpms/gcc/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30238

Added Files:
	gcc44-pr40521-2.patch 
Log Message:
4.4.2-2

gcc44-pr40521-2.patch:
 cgraphunit.c |    1 +
 dbxout.c     |    2 ++
 debug.c      |    1 +
 debug.h      |    4 ++++
 dwarf2out.c  |   10 ++++++++++
 sdbout.c     |    1 +
 vmsdbgout.c  |   11 +++++++++++
 7 files changed, 30 insertions(+)

--- NEW FILE gcc44-pr40521-2.patch ---
2009-10-16  Jakub Jelinek  <jakub at redhat.com>

	PR debug/40521
	* debug.h (struct gcc_debug_hooks): Add assembly_start hook.
	* cgraphunit.c (cgraph_optimize): Call it.
	* dwarf2out.c (dwarf2out_init): Move .cfi_sections printing into...
	(dwarf2out_assembly_start): ... here.  New hook.
	(dwarf2out_debug_hooks): Add dwarf2out_assembly_start.
	* debug.c (do_nothing_debug_hooks): Do nothing for assembly_start
	hook.
	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_assembly_start.
	(vmsdbgout_assembly_start): New hook.

--- gcc/debug.h.jj	2009-10-13 16:20:12.000000000 +0200
+++ gcc/debug.h	2009-10-16 17:48:10.000000000 +0200
@@ -31,6 +31,10 @@ struct gcc_debug_hooks
   /* Output debug symbols.  */
   void (* finish) (const char *main_filename);
 
+  /* Called from cgraph_optimize before starting to assemble
+     functions/variables/toplevel asms.  */
+  void (* assembly_start) (void);
+
   /* Macro defined on line LINE with name and expansion TEXT.  */
   void (* define) (unsigned int line, const char *text);
 
--- gcc/cgraphunit.c.jj	2009-10-13 16:20:12.000000000 +0200
+++ gcc/cgraphunit.c	2009-10-16 17:57:06.000000000 +0200
@@ -1441,6 +1441,7 @@ cgraph_optimize (void)
   timevar_pop (TV_CGRAPHOPT);
 
   /* Output everything.  */
+  (*debug_hooks->assembly_start) ();
   if (!quiet_flag)
     fprintf (stderr, "Assembling functions:\n");
 #ifdef ENABLE_CHECKING
--- gcc/dwarf2out.c.jj	2009-10-16 01:51:02.000000000 +0200
+++ gcc/dwarf2out.c	2009-10-16 18:00:31.000000000 +0200
@@ -5401,6 +5401,7 @@ static int output_indirect_string (void 
 
 static void dwarf2out_init (const char *);
 static void dwarf2out_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 *);
 static void dwarf2out_start_source_file (unsigned, const char *);
@@ -5427,6 +5428,7 @@ const struct gcc_debug_hooks dwarf2_debu
 {
   dwarf2out_init,
   dwarf2out_finish,
+  dwarf2out_assembly_start,
   dwarf2out_define,
   dwarf2out_undef,
   dwarf2out_start_source_file,
@@ -20392,6 +20394,14 @@ dwarf2out_init (const char *filename ATT
       ASM_OUTPUT_LABEL (asm_out_file, cold_text_section_label);
     }
 
+}
+
+/* Called before cgraph_optimize starts outputtting functions, variables
+   and toplevel asms into assembly.  */
+
+static void
+dwarf2out_assembly_start (void)
+{
   if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE && dwarf2out_do_cfi_asm ())
     {
 #ifndef TARGET_UNWIND_INFO
--- gcc/debug.c.jj	2009-10-13 16:20:12.000000000 +0200
+++ gcc/debug.c	2009-10-16 17:49:02.000000000 +0200
@@ -27,6 +27,7 @@ const struct gcc_debug_hooks do_nothing_
 {
   debug_nothing_charstar,
   debug_nothing_charstar,
+  debug_nothing_void,
   debug_nothing_int_charstar,
   debug_nothing_int_charstar,
   debug_nothing_int_charstar,
--- gcc/dbxout.c.jj	2009-10-13 16:20:12.000000000 +0200
+++ gcc/dbxout.c	2009-10-16 17:50:58.000000000 +0200
@@ -346,6 +346,7 @@ const struct gcc_debug_hooks dbx_debug_h
 {
   dbxout_init,
   dbxout_finish,
+  debug_nothing_void,
   debug_nothing_int_charstar,
   debug_nothing_int_charstar,
   dbxout_start_source_file,
@@ -386,6 +387,7 @@ const struct gcc_debug_hooks xcoff_debug
 {
   dbxout_init,
   dbxout_finish,
+  debug_nothing_void,
   debug_nothing_int_charstar,
   debug_nothing_int_charstar,
   dbxout_start_source_file,
--- gcc/sdbout.c.jj	2009-10-13 16:20:12.000000000 +0200
+++ gcc/sdbout.c	2009-10-16 17:53:15.000000000 +0200
@@ -307,6 +307,7 @@ const struct gcc_debug_hooks sdb_debug_h
 {
   sdbout_init,			         /* init */
   sdbout_finish,		         /* finish */
+  debug_nothing_void,			 /* assembly_start */
   debug_nothing_int_charstar,	         /* define */
   debug_nothing_int_charstar,	         /* undef */
   sdbout_start_source_file,	         /* start_source_file */
--- gcc/vmsdbgout.c.jj	2009-10-13 16:20:11.000000000 +0200
+++ gcc/vmsdbgout.c	2009-10-16 18:01:46.000000000 +0200
@@ -168,6 +168,7 @@ static int write_srccorrs (int);
 
 static void vmsdbgout_init (const char *);
 static void vmsdbgout_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 *);
 static void vmsdbgout_start_source_file (unsigned int, const char *);
@@ -190,6 +191,7 @@ static void vmsdbgout_abstract_function 
 const struct gcc_debug_hooks vmsdbg_debug_hooks
 = {vmsdbgout_init,
    vmsdbgout_finish,
+   vmsdbgout_assembly_start,
    vmsdbgout_define,
    vmsdbgout_undef,
    vmsdbgout_start_source_file,
@@ -1618,6 +1620,15 @@ vmsdbgout_init (const char *main_input_f
 /* Not implemented in VMS Debug.  */
 
 static void
+vmsdbgout_assembly_start (void)
+{
+  if (write_symbols == VMS_AND_DWARF2_DEBUG)
+    (*dwarf2_debug_hooks.assembly_start) ();
+}
+
+/* Not implemented in VMS Debug.  */
+
+static void
 vmsdbgout_define (unsigned int lineno, const char *buffer)
 {
   if (write_symbols == VMS_AND_DWARF2_DEBUG)




More information about the fedora-extras-commits mailing list