This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]: Increase MAX_ARTIFICIAL_LABEL_BYTES to 40


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.

Attachment: a.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]