* 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).