public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
@ 2017-05-12  9:32 Richard Biener
  2017-05-12 10:29 ` JonY
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Richard Biener @ 2017-05-12  9:32 UTC (permalink / raw)
  To: gcc; +Cc: gcc-patches, 10walls, mikestump, iain


This is a heads-up that I am in the process of implementing the last
of Jasons review comments on the dwarf2out parts of early LTO debug
support.  I hope to post final patches early next week after thoroughly
re-testing everything.

Note that Mach-O and [X]COFF support in the simple-object machinery
is still missing for the early LTO debug feature so I am going to
break LTOing with DWARF debuginfo on Darwin and Windows (CCing
maintainers).  Mach-O support has been worked on a bit by Iain
and myself but the simple-object piece is still missing.
A workaround is to use stabs on these targets with LTO.

DWARF part: https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01023.html
simple-object part: 
https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01733.html

both still apply with some fuzz.

Richard.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
  2017-05-12  9:32 Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF Richard Biener
@ 2017-05-12 10:29 ` JonY
  2017-05-12 10:38 ` Iain Sandoe
  2017-08-21 11:14 ` Richard Biener
  2 siblings, 0 replies; 6+ messages in thread
From: JonY @ 2017-05-12 10:29 UTC (permalink / raw)
  To: Richard Biener, gcc; +Cc: gcc-patches, mikestump, iain


[-- Attachment #1.1: Type: text/plain, Size: 1034 bytes --]

On 05/12/2017 09:24 AM, Richard Biener wrote:
> 
> This is a heads-up that I am in the process of implementing the last
> of Jasons review comments on the dwarf2out parts of early LTO debug
> support.  I hope to post final patches early next week after thoroughly
> re-testing everything.
> 
> Note that Mach-O and [X]COFF support in the simple-object machinery
> is still missing for the early LTO debug feature so I am going to
> break LTOing with DWARF debuginfo on Darwin and Windows (CCing
> maintainers).  Mach-O support has been worked on a bit by Iain
> and myself but the simple-object piece is still missing.
> A workaround is to use stabs on these targets with LTO.
> 
> DWARF part: https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01023.html
> simple-object part: 
> https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01733.html
> 
> both still apply with some fuzz.
> 
> Richard.
> 

AFAIK, LTO doesn't work well on Windows to begin with, if non-LTO modes
are unaffected, I have no issues with this.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 858 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
  2017-05-12  9:32 Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF Richard Biener
  2017-05-12 10:29 ` JonY
@ 2017-05-12 10:38 ` Iain Sandoe
  2017-08-21 11:14 ` Richard Biener
  2 siblings, 0 replies; 6+ messages in thread
From: Iain Sandoe @ 2017-05-12 10:38 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc, gcc-patches, 10walls, Mike Stump

Hi Richard,

> On 12 May 2017, at 10:24, Richard Biener <rguenther@suse.de> wrote:
> 
> 
> This is a heads-up that I am in the process of implementing the last
> of Jasons review comments on the dwarf2out parts of early LTO debug
> support.  I hope to post final patches early next week after thoroughly
> re-testing everything.
> 
> Note that Mach-O and [X]COFF support in the simple-object machinery
> is still missing for the early LTO debug feature so I am going to
> break LTOing with DWARF debuginfo on Darwin and Windows (CCing
> maintainers).  Mach-O support has been worked on a bit by Iain
> and myself but the simple-object piece is still missing.


Still on my TODO, and intending to do it for Mach-O - but rather short of cycles (if non-LTO is unaffected at least we have some breathing space).

> A workaround is to use stabs on these targets with LTO.

stabs isn’t going to work (well, if at all) on modern Darwin...

> DWARF part: https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01023.html
> simple-object part: 
> https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01733.html
> 
> both still apply with some fuzz.

I have a branch somewhere, will rebase - I’ve been getting stuff up to speed this week,
Iain

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
  2017-05-12  9:32 Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF Richard Biener
  2017-05-12 10:29 ` JonY
  2017-05-12 10:38 ` Iain Sandoe
@ 2017-08-21 11:14 ` Richard Biener
  2017-08-24  0:31   ` Rainer Orth
  2 siblings, 1 reply; 6+ messages in thread
From: Richard Biener @ 2017-08-21 11:14 UTC (permalink / raw)
  To: gcc; +Cc: gcc-patches, 10walls, mikestump, iain

On Fri, 12 May 2017, Richard Biener wrote:

> 
> This is a heads-up that I am in the process of implementing the last
> of Jasons review comments on the dwarf2out parts of early LTO debug
> support.  I hope to post final patches early next week after thoroughly
> re-testing everything.
> 
> Note that Mach-O and [X]COFF support in the simple-object machinery
> is still missing for the early LTO debug feature so I am going to
> break LTOing with DWARF debuginfo on Darwin and Windows (CCing
> maintainers).  Mach-O support has been worked on a bit by Iain
> and myself but the simple-object piece is still missing.
> A workaround is to use stabs on these targets with LTO.
> 
> DWARF part: https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01023.html
> simple-object part: 
> https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01733.html
> 
> both still apply with some fuzz.

The patches have been applied now (r251220).  You'll see -flto -g
testcases on the above archs fail (I'm still curious how exactly).
There's going to be a "workaround" I plan to apply no earlier than
stage3, it will effectively force -g0 on those targets when you
use DWARF.

Seeing the FAILs might be enough hunch to look into the (small)
task of implementing the simple-object implementation of
simple_object_copy_lto_debug_sections for your object format.

Richard.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
  2017-08-21 11:14 ` Richard Biener
@ 2017-08-24  0:31   ` Rainer Orth
  2017-08-24 11:05     ` Richard Biener
  0 siblings, 1 reply; 6+ messages in thread
From: Rainer Orth @ 2017-08-24  0:31 UTC (permalink / raw)
  To: Richard Biener; +Cc: gcc, gcc-patches, 10walls, mikestump, iain

[-- Attachment #1: Type: text/plain, Size: 7741 bytes --]

Hi Richard,

> On Fri, 12 May 2017, Richard Biener wrote:
>
>> 
>> This is a heads-up that I am in the process of implementing the last
>> of Jasons review comments on the dwarf2out parts of early LTO debug
>> support.  I hope to post final patches early next week after thoroughly
>> re-testing everything.
>> 
>> Note that Mach-O and [X]COFF support in the simple-object machinery
>> is still missing for the early LTO debug feature so I am going to
>> break LTOing with DWARF debuginfo on Darwin and Windows (CCing
>> maintainers).  Mach-O support has been worked on a bit by Iain
>> and myself but the simple-object piece is still missing.
>> A workaround is to use stabs on these targets with LTO.

unfortunately, the patch not only broke LTO on Darwin, but bootstrap
completely (seen on x86_64-apple-darwin17.0.0):

/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c: In function 'void init_sections_and_labels(bool)':
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27210:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 7 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 25 and 34 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27229:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27238:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27245:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_info_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 7 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 25 and 34 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27290:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27300:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
 init_sections_and_labels (bool early_lto_debug)
 ^~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
In file included from ./tm.h:21:0,
                 from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
                 from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
/var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
       sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27306:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
    ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_info_section_label,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~

I hacked around this using the following patch:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: mac-dw2out.patch --]
[-- Type: text/x-patch, Size: 499 bytes --]

diff -r a01355d9dbd3 gcc/dwarf2out.c
--- a/gcc/dwarf2out.c	Wed Aug 23 17:09:11 2017 +0200
+++ b/gcc/dwarf2out.c	Wed Aug 23 20:50:16 2017 +0200
@@ -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

[-- Attachment #3: Type: text/plain, Size: 241 bytes --]


40 is just a value that happened to work; I've done no analysis what's
really required.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF
  2017-08-24  0:31   ` Rainer Orth
@ 2017-08-24 11:05     ` Richard Biener
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Biener @ 2017-08-24 11:05 UTC (permalink / raw)
  To: Rainer Orth; +Cc: gcc, gcc-patches, 10walls, mikestump, iain

On Wed, 23 Aug 2017, Rainer Orth wrote:

> Hi Richard,
> 
> > On Fri, 12 May 2017, Richard Biener wrote:
> >
> >> 
> >> This is a heads-up that I am in the process of implementing the last
> >> of Jasons review comments on the dwarf2out parts of early LTO debug
> >> support.  I hope to post final patches early next week after thoroughly
> >> re-testing everything.
> >> 
> >> Note that Mach-O and [X]COFF support in the simple-object machinery
> >> is still missing for the early LTO debug feature so I am going to
> >> break LTOing with DWARF debuginfo on Darwin and Windows (CCing
> >> maintainers).  Mach-O support has been worked on a bit by Iain
> >> and myself but the simple-object piece is still missing.
> >> A workaround is to use stabs on these targets with LTO.
> 
> unfortunately, the patch not only broke LTO on Darwin, but bootstrap
> completely (seen on x86_64-apple-darwin17.0.0):
> 
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c: In function 'void init_sections_and_labels(bool)':
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27210:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 7 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 25 and 34 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27229:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27238:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27245:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_info_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 7 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 25 and 34 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27290:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_abbrev_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27300:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_line_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: error: '%ld' directive writing between 1 and 10 bytes into a region of size 9 [-Werror=format-overflow=]
>  init_sections_and_labels (bool early_lto_debug)
>  ^~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27184:1: note: directive argument in the range [0, 4294967295]
> In file included from ./tm.h:21:0,
>                  from /var/gcc/src/hg/trunk/local/gcc/target.h:52,
>                  from /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:61:
> /var/gcc/src/hg/trunk/local/gcc/config/darwin.h:759:15: note: 'sprintf' output between 23 and 32 bytes into a destination of size 30
>        sprintf (LABEL, "*%s%ld", PREFIX, (long)(NUM)); \
>        ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /var/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27306:4: note: in expansion of macro 'ASM_GENERATE_INTERNAL_LABEL'
>     ASM_GENERATE_INTERNAL_LABEL (debug_skeleton_info_section_label,
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> I hacked around this using the following patch:

Yeah, Uros fixed that already in exactly the same way.  Wonder how it
didn't warn on x86_64 and why there isn't a target specific define
on how much ASM_GENERATE_INTERNAL_LABEL adds to whatever prefix
the caller chooses.

Richard.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-08-24  9:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-12  9:32 Heads-Up: early LTO debug to land, breaking Mach-O / [X]COFF Richard Biener
2017-05-12 10:29 ` JonY
2017-05-12 10:38 ` Iain Sandoe
2017-08-21 11:14 ` Richard Biener
2017-08-24  0:31   ` Rainer Orth
2017-08-24 11:05     ` Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).