public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943
@ 2022-07-11 18:59 gscfq@t-online.de
  2022-07-11 19:58 ` [Bug debug/106261] " marxin at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: gscfq@t-online.de @ 2022-07-11 18:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

            Bug ID: 106261
           Summary: ICE in output_call_frame_info, at dwarf2out.cc:943
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Affects versions down to at least r5,
with file g++.dg/torture/pr60871.C :


$ gcc-13-20220710 -c pr60871.C -dx -fno-dwarf2-cfi-asm
pr60871.C:33:28: internal compiler error: Segmentation fault
   33 | void fn1 () { F::m_fn2 (); }
      |                            ^
0x10ecfef crash_signal
        ../../gcc/toplev.cc:322
0xc33a42 vec<dw_cfi_node*, va_gc, vl_embed>::iterate(unsigned int,
dw_cfi_node**) const
        ../../gcc/vec.h:930
0xc33a42 output_call_frame_info
        ../../gcc/dwarf2out.cc:943

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

* [Bug debug/106261] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
@ 2022-07-11 19:58 ` marxin at gcc dot gnu.org
  2022-07-11 21:12 ` pinskia at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-07-11 19:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2022-07-11
     Ever confirmed|0                           |1
                 CC|                            |marxin at gcc dot gnu.org

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

* [Bug debug/106261] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
  2022-07-11 19:58 ` [Bug debug/106261] " marxin at gcc dot gnu.org
@ 2022-07-11 21:12 ` pinskia at gcc dot gnu.org
  2022-07-11 21:14 ` [Bug debug/106261] [10/11/12/13 Regression] " pinskia at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-11 21:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 53289
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53289&action=edit
testcase

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

* [Bug debug/106261] [10/11/12/13 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
  2022-07-11 19:58 ` [Bug debug/106261] " marxin at gcc dot gnu.org
  2022-07-11 21:12 ` pinskia at gcc dot gnu.org
@ 2022-07-11 21:14 ` pinskia at gcc dot gnu.org
  2022-07-12  6:36 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-07-11 21:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |10.5
      Known to fail|                            |4.8.0
      Known to work|                            |4.7.4
            Summary|ICE in                      |[10/11/12/13 Regression]
                   |output_call_frame_info, at  |ICE in
                   |dwarf2out.cc:943            |output_call_frame_info, at
                   |                            |dwarf2out.cc:943

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

* [Bug debug/106261] [10/11/12/13 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (2 preceding siblings ...)
  2022-07-11 21:14 ` [Bug debug/106261] [10/11/12/13 Regression] " pinskia at gcc dot gnu.org
@ 2022-07-12  6:36 ` rguenth at gcc dot gnu.org
  2022-07-26 14:15 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-07-12  6:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
@item -dx
@opindex dx
Just generate RTL for a function instead of compiling it.  Usually used
with @option{-fdump-rtl-expand}.
@end table

so possibly some side-effect of not doing things something we do later depends
on with -dx

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

* [Bug debug/106261] [10/11/12/13 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (3 preceding siblings ...)
  2022-07-12  6:36 ` rguenth at gcc dot gnu.org
@ 2022-07-26 14:15 ` jakub at gcc dot gnu.org
  2022-07-27 10:06 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-07-26 14:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 53360
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53360&action=edit
gcc13-pr106261.patch

Untested fix.  The problem was emitting asm thunks when not emitting any other
functions (which is what -dx does).

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

* [Bug debug/106261] [10/11/12/13 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (4 preceding siblings ...)
  2022-07-26 14:15 ` jakub at gcc dot gnu.org
@ 2022-07-27 10:06 ` cvs-commit at gcc dot gnu.org
  2022-07-27 10:47 ` [Bug debug/106261] [10/11/12 " jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-27 10:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:f9671b60f9395cb1dca128b92f5dd215f5aeaae1

commit r13-1856-gf9671b60f9395cb1dca128b92f5dd215f5aeaae1
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jul 27 12:06:22 2022 +0200

    cgraphunit: Don't emit asm thunks for -dx [PR106261]

    When -dx option is used (didn't know we have it and no idea what is it
    useful for), we just expand functions to RTL and then omit all further
    RTL passes, so the normal functions aren't actually emitted into assembly,
    just variables.
    The following testcase ICEs, because we don't emit the methods, but do
    emit thunks pointing to that and those thunks have unwind info and rely on
    at least some real functions to be emitted (which is normally the case,
    thunks are only emitted for locally defined functions) because otherwise
    there are no CIEs, only FDEs and dwarf2out is upset about it.

    The following patch fixes that by not emitting assembly thunks for -dx
    either.

    2022-07-27  Jakub Jelinek  <jakub@redhat.com>

            PR debug/106261
            * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
            output asm thunks for -dx.

            * g++.dg/debug/pr106261.C: New test.

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

* [Bug debug/106261] [10/11/12 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (5 preceding siblings ...)
  2022-07-27 10:06 ` cvs-commit at gcc dot gnu.org
@ 2022-07-27 10:47 ` jakub at gcc dot gnu.org
  2022-07-30  9:34 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-07-27 10:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10/11/12/13 Regression]    |[10/11/12 Regression] ICE
                   |ICE in                      |in output_call_frame_info,
                   |output_call_frame_info, at  |at dwarf2out.cc:943
                   |dwarf2out.cc:943            |

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.

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

* [Bug debug/106261] [10/11/12 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (6 preceding siblings ...)
  2022-07-27 10:47 ` [Bug debug/106261] [10/11/12 " jakub at gcc dot gnu.org
@ 2022-07-30  9:34 ` cvs-commit at gcc dot gnu.org
  2022-07-30 10:09 ` [Bug debug/106261] [10/11 " jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-30  9:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:0062d8491c20eb95411ac0b112e09ec0cee836d1

commit r12-8644-g0062d8491c20eb95411ac0b112e09ec0cee836d1
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jul 27 12:06:22 2022 +0200

    cgraphunit: Don't emit asm thunks for -dx [PR106261]

    When -dx option is used (didn't know we have it and no idea what is it
    useful for), we just expand functions to RTL and then omit all further
    RTL passes, so the normal functions aren't actually emitted into assembly,
    just variables.
    The following testcase ICEs, because we don't emit the methods, but do
    emit thunks pointing to that and those thunks have unwind info and rely on
    at least some real functions to be emitted (which is normally the case,
    thunks are only emitted for locally defined functions) because otherwise
    there are no CIEs, only FDEs and dwarf2out is upset about it.

    The following patch fixes that by not emitting assembly thunks for -dx
    either.

    2022-07-27  Jakub Jelinek  <jakub@redhat.com>

            PR debug/106261
            * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
            output asm thunks for -dx.

            * g++.dg/debug/pr106261.C: New test.

    (cherry picked from commit f9671b60f9395cb1dca128b92f5dd215f5aeaae1)

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

* [Bug debug/106261] [10/11 Regression] ICE in output_call_frame_info,  at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (7 preceding siblings ...)
  2022-07-30  9:34 ` cvs-commit at gcc dot gnu.org
@ 2022-07-30 10:09 ` jakub at gcc dot gnu.org
  2022-11-04  8:30 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-07-30 10:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10/11/12 Regression] ICE   |[10/11 Regression] ICE in
                   |in output_call_frame_info,  |output_call_frame_info, at
                   |at dwarf2out.cc:943         |dwarf2out.cc:943

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 12.2+ too.

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

* [Bug debug/106261] [10/11 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (8 preceding siblings ...)
  2022-07-30 10:09 ` [Bug debug/106261] [10/11 " jakub at gcc dot gnu.org
@ 2022-11-04  8:30 ` cvs-commit at gcc dot gnu.org
  2022-11-04 11:00 ` [Bug debug/106261] [10 " jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-04  8:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:904b0d0418077c1fe2c3ab328002bba40c6b0271

commit r11-10356-g904b0d0418077c1fe2c3ab328002bba40c6b0271
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jul 27 12:06:22 2022 +0200

    cgraphunit: Don't emit asm thunks for -dx [PR106261]

    When -dx option is used (didn't know we have it and no idea what is it
    useful for), we just expand functions to RTL and then omit all further
    RTL passes, so the normal functions aren't actually emitted into assembly,
    just variables.
    The following testcase ICEs, because we don't emit the methods, but do
    emit thunks pointing to that and those thunks have unwind info and rely on
    at least some real functions to be emitted (which is normally the case,
    thunks are only emitted for locally defined functions) because otherwise
    there are no CIEs, only FDEs and dwarf2out is upset about it.

    The following patch fixes that by not emitting assembly thunks for -dx
    either.

    2022-07-27  Jakub Jelinek  <jakub@redhat.com>

            PR debug/106261
            * cgraphunit.c (cgraph_node::assemble_thunks_and_aliases): Don't
            output asm thunks for -dx.

            * g++.dg/debug/pr106261.C: New test.

    (cherry picked from commit f9671b60f9395cb1dca128b92f5dd215f5aeaae1)

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

* [Bug debug/106261] [10 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (9 preceding siblings ...)
  2022-11-04  8:30 ` cvs-commit at gcc dot gnu.org
@ 2022-11-04 11:00 ` jakub at gcc dot gnu.org
  2023-05-03 15:18 ` cvs-commit at gcc dot gnu.org
  2023-05-04  7:19 ` jakub at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-11-04 11:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10/11 Regression] ICE in   |[10 Regression] ICE in
                   |output_call_frame_info, at  |output_call_frame_info, at
                   |dwarf2out.cc:943            |dwarf2out.cc:943

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 11.4+ too.

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

* [Bug debug/106261] [10 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (10 preceding siblings ...)
  2022-11-04 11:00 ` [Bug debug/106261] [10 " jakub at gcc dot gnu.org
@ 2023-05-03 15:18 ` cvs-commit at gcc dot gnu.org
  2023-05-04  7:19 ` jakub at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-03 15:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:408fe10442aa53e2b4573abbf0536aa677c92512

commit r10-11335-g408fe10442aa53e2b4573abbf0536aa677c92512
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jul 27 12:06:22 2022 +0200

    cgraphunit: Don't emit asm thunks for -dx [PR106261]

    When -dx option is used (didn't know we have it and no idea what is it
    useful for), we just expand functions to RTL and then omit all further
    RTL passes, so the normal functions aren't actually emitted into assembly,
    just variables.
    The following testcase ICEs, because we don't emit the methods, but do
    emit thunks pointing to that and those thunks have unwind info and rely on
    at least some real functions to be emitted (which is normally the case,
    thunks are only emitted for locally defined functions) because otherwise
    there are no CIEs, only FDEs and dwarf2out is upset about it.

    The following patch fixes that by not emitting assembly thunks for -dx
    either.

    2022-07-27  Jakub Jelinek  <jakub@redhat.com>

            PR debug/106261
            * cgraphunit.c (cgraph_node::assemble_thunks_and_aliases): Don't
            output asm thunks for -dx.

            * g++.dg/debug/pr106261.C: New test.

    (cherry picked from commit f9671b60f9395cb1dca128b92f5dd215f5aeaae1)

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

* [Bug debug/106261] [10 Regression] ICE in output_call_frame_info, at dwarf2out.cc:943
  2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
                   ` (11 preceding siblings ...)
  2023-05-03 15:18 ` cvs-commit at gcc dot gnu.org
@ 2023-05-04  7:19 ` jakub at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-05-04  7:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106261

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.5 too.

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

end of thread, other threads:[~2023-05-04  7:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-11 18:59 [Bug c++/106261] New: ICE in output_call_frame_info, at dwarf2out.cc:943 gscfq@t-online.de
2022-07-11 19:58 ` [Bug debug/106261] " marxin at gcc dot gnu.org
2022-07-11 21:12 ` pinskia at gcc dot gnu.org
2022-07-11 21:14 ` [Bug debug/106261] [10/11/12/13 Regression] " pinskia at gcc dot gnu.org
2022-07-12  6:36 ` rguenth at gcc dot gnu.org
2022-07-26 14:15 ` jakub at gcc dot gnu.org
2022-07-27 10:06 ` cvs-commit at gcc dot gnu.org
2022-07-27 10:47 ` [Bug debug/106261] [10/11/12 " jakub at gcc dot gnu.org
2022-07-30  9:34 ` cvs-commit at gcc dot gnu.org
2022-07-30 10:09 ` [Bug debug/106261] [10/11 " jakub at gcc dot gnu.org
2022-11-04  8:30 ` cvs-commit at gcc dot gnu.org
2022-11-04 11:00 ` [Bug debug/106261] [10 " jakub at gcc dot gnu.org
2023-05-03 15:18 ` cvs-commit at gcc dot gnu.org
2023-05-04  7:19 ` jakub at gcc dot gnu.org

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