diff mbox

: Increase MAX_ARTIFICIAL_LABEL_BYTES to 40

Message ID CAFULd4Zgg1o=5uP1iNzuNxhjB5dJREkYNtnm4Jq21CTmnqCLPg@mail.gmail.com
State New
Headers show

Commit Message

Uros Bizjak Aug. 23, 2017, 3:49 p.m. UTC
Hello!

Recent changes caused bootstrap on alpha with:

/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c: In function ‘void
init_sections_and_labels(bool)’:
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: error:
‘%ld’ directive writing between 1 and 10 bytes into a region of size 8
[-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: note:
directive argument in the range [0, 4294967295]
In file included from ./tm.h:25:0,
                 from /space/homedirs/uros/gcc-svn/trunk/gcc/target.h:52,
                 from /space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:61:
/space/homedirs/uros/gcc-svn/trunk/gcc/config/alpha/alpha.h:958:11:
note: ‘sprintf’ output between 24 and 33 bytes into a destination of
size 30
   sprintf ((LABEL), "*$%s%ld", (PREFIX), (long)(NUM))
   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27207:4: note: in
expansion of macro ‘ASM_GENERATE_INTERNAL_LABEL’
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: error:
‘%ld’ directive writing between 1 and 10 bytes into a region of size 6
[-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: note:
directive argument in the range [0, 4294967295]
In file included from ./tm.h:25:0,
                 from /space/homedirs/uros/gcc-svn/trunk/gcc/target.h:52,
                 from /space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:61:
/space/homedirs/uros/gcc-svn/trunk/gcc/config/alpha/alpha.h:958:11:
note: ‘sprintf’ output between 26 and 35 bytes into a destination of
size 30
   sprintf ((LABEL), "*$%s%ld", (PREFIX), (long)(NUM))
   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27226:4: note: in
expansion of macro ‘ASM_GENERATE_INTERNAL_LABEL’
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~

These new debug_skeleton_* section names are quite long, and together
with numerical value they don't fit anymore into the array with
MAX_ARTIFICIAL_LABEL_BYTES size.

The solution is to increase MAX_ARTIFICIAL_LABEL_BYTES value from 30 to 40.

The patch also removes unneeded definition from dwarf2cfi.c

2017-08-23  Uros Bizjak  <ubizjak@gmail.com>

    * dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
    * dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.

Patch restores bootstrap on alphaev68-linux-gnu.

OK for mainline?

Uros.

Comments

Richard Biener Aug. 23, 2017, 4:35 p.m. UTC | #1
On August 23, 2017 5:49:56 PM GMT+02:00, Uros Bizjak <ubizjak@gmail.com> wrote:
>Hello!
>
>Recent changes caused bootstrap on alpha with:
>
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c: In function ‘void
>init_sections_and_labels(bool)’:
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: error:
>‘%ld’ directive writing between 1 and 10 bytes into a region of size 8
>[-Werror=format-overflow=]
> init_sections_and_labels (bool early_lto_debug)
> ^~~~~~~~~~~~~~~~~~~~~~~~
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: note:
>directive argument in the range [0, 4294967295]
>In file included from ./tm.h:25:0,
>               from /space/homedirs/uros/gcc-svn/trunk/gcc/target.h:52,
>            from /space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:61:
>/space/homedirs/uros/gcc-svn/trunk/gcc/config/alpha/alpha.h:958:11:
>note: ‘sprintf’ output between 24 and 33 bytes into a destination of
>size 30
>   sprintf ((LABEL), "*$%s%ld", (PREFIX), (long)(NUM))
>   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27207:4: note: in
>expansion of macro ‘ASM_GENERATE_INTERNAL_LABEL’
>    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: error:
>‘%ld’ directive writing between 1 and 10 bytes into a region of size 6
>[-Werror=format-overflow=]
> init_sections_and_labels (bool early_lto_debug)
> ^~~~~~~~~~~~~~~~~~~~~~~~
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27181:1: note:
>directive argument in the range [0, 4294967295]
>In file included from ./tm.h:25:0,
>               from /space/homedirs/uros/gcc-svn/trunk/gcc/target.h:52,
>            from /space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:61:
>/space/homedirs/uros/gcc-svn/trunk/gcc/config/alpha/alpha.h:958:11:
>note: ‘sprintf’ output between 26 and 35 bytes into a destination of
>size 30
>   sprintf ((LABEL), "*$%s%ld", (PREFIX), (long)(NUM))
>   ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>/space/homedirs/uros/gcc-svn/trunk/gcc/dwarf2out.c:27226:4: note: in
>expansion of macro ‘ASM_GENERATE_INTERNAL_LABEL’
>    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>These new debug_skeleton_* section names are quite long, and together
>with numerical value they don't fit anymore into the array with
>MAX_ARTIFICIAL_LABEL_BYTES size.
>
>The solution is to increase MAX_ARTIFICIAL_LABEL_BYTES value from 30 to
>40.
>
>The patch also removes unneeded definition from dwarf2cfi.c
>
>2017-08-23  Uros Bizjak  <ubizjak@gmail.com>
>
>    * dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
>    * dwarf2cfi.c (MAX_ARTIFICIAL_LABEL_BYTES): Remove.
>
>Patch restores bootstrap on alphaev68-linux-gnu.
>
>OK for mainline?

OK. 

Richard. 


>Uros.
diff mbox

Patch

Index: dwarf2cfi.c
===================================================================
--- dwarf2cfi.c	(revision 251310)
+++ dwarf2cfi.c	(working copy)
@@ -52,9 +52,6 @@ 
 #ifndef INCOMING_RETURN_ADDR_RTX
 #define INCOMING_RETURN_ADDR_RTX  (gcc_unreachable (), NULL_RTX)
 #endif
-
-/* Maximum size (in bytes) of an artificially generated label.  */
-#define MAX_ARTIFICIAL_LABEL_BYTES	30
 
 /* A collected description of an entire row of the abstract CFI table.  */
 struct GTY(()) dw_cfi_row
Index: dwarf2out.c
===================================================================
--- dwarf2out.c	(revision 251310)
+++ dwarf2out.c	(working copy)
@@ -178,7 +178,7 @@ 
 static GTY(()) section *debug_frame_section;
 
 /* Maximum size (in bytes) of an artificially generated label.  */
-#define MAX_ARTIFICIAL_LABEL_BYTES	30
+#define MAX_ARTIFICIAL_LABEL_BYTES	40
 
 /* According to the (draft) DWARF 3 specification, the initial length
    should either be 4 or 12 bytes.  When it's 12 bytes, the first 4