public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/96383] New: Full ABI information missing missing from GCC compiled C
@ 2020-07-29 21:20 woodard at redhat dot com
  2020-07-29 21:23 ` [Bug c/96383] " woodard at redhat dot com
                   ` (35 more replies)
  0 siblings, 36 replies; 37+ messages in thread
From: woodard at redhat dot com @ 2020-07-29 21:20 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96383
           Summary: Full ABI information missing missing from GCC compiled
                    C
           Product: gcc
           Version: 10.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: woodard at redhat dot com
  Target Milestone: ---

When GCC compiles C and there is a call to an external function the full ABI
information for the function being called doesn't exist in the caller.

For example compiling bzip2 with gcc 10.1.1 this is all that you get for the
function fflush.

 [  93a4]    subprogram           abbrev: 96
             external             (flag_present) yes
             declaration          (flag_present) yes
             linkage_name         (strp) "fflush"
             name                 (strp) "fflush"
             decl_file            (data1) stdio.h (6)
             decl_line            (data1) 218
             decl_column          (data1) 12

However when you compile the same library with clang you get much more
information:

 [  49ec]    subprogram           abbrev: 26
             name                 (strp) "fflush"
             decl_file            (data1) stdio.h (3)
             decl_line            (data1) 218
             prototyped           (flag_present) yes
             type                 (ref4) [  425e]
             declaration          (flag_present) yes
             external             (flag_present) yes
 [  49f7]      formal_parameter     abbrev: 7
               type                 (ref4) [  47c7]

 [  47c7]    pointer_type         abbrev: 3
             type                 (ref4) [  47cc]
 [  47cc]    structure_type       abbrev: 21
             name                 (strp) "_IO_FILE"
             byte_size            (data1) 216
             decl_file            (data1) struct_FILE.h (4)
             decl_line            (data1) 49
 [  47d4]      member               abbrev: 13
               name                 (strp) "_flags"
               type                 (ref4) [  425e]
               decl_file            (data1) struct_FILE.h (4)
               decl_line            (data1) 51
               data_member_location (data1) 0
 [  47e0]      member               abbrev: 13
               name                 (strp) "_IO_read_ptr"
               type                 (ref4) [  4685]
               decl_file            (data1) struct_FILE.h (4)
               decl_line            (data1) 54
               data_member_location (data1) 8
...

This information is useful because it allows you to verify that the library
that the caller is expecting has the same ABI as the function that the callee
is providing.

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

* [Bug c/96383] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
@ 2020-07-29 21:23 ` woodard at redhat dot com
  2020-07-29 21:23 ` woodard at redhat dot com
                   ` (34 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: woodard at redhat dot com @ 2020-07-29 21:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Ben Woodard <woodard at redhat dot com> ---
Created attachment 48954
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48954&action=edit
clang binary

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

* [Bug c/96383] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
  2020-07-29 21:23 ` [Bug c/96383] " woodard at redhat dot com
@ 2020-07-29 21:23 ` woodard at redhat dot com
  2020-07-30  3:52 ` [Bug debug/96383] " woodard at redhat dot com
                   ` (33 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: woodard at redhat dot com @ 2020-07-29 21:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Ben Woodard <woodard at redhat dot com> ---
Created attachment 48955
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48955&action=edit
gcc binary

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

* [Bug debug/96383] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
  2020-07-29 21:23 ` [Bug c/96383] " woodard at redhat dot com
  2020-07-29 21:23 ` woodard at redhat dot com
@ 2020-07-30  3:52 ` woodard at redhat dot com
  2020-07-30  6:14 ` [Bug debug/96383] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
                   ` (32 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: woodard at redhat dot com @ 2020-07-30  3:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
This also affects C++ but in that case some info can be derived due to
mangling.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (2 preceding siblings ...)
  2020-07-30  3:52 ` [Bug debug/96383] " woodard at redhat dot com
@ 2020-07-30  6:14 ` rguenth at gcc dot gnu.org
  2020-07-30  8:24 ` rguenth at gcc dot gnu.org
                   ` (31 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30  6:14 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.5, 4.9.4
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
      Known to fail|                            |11.0, 7.5.0
   Target Milestone|---                         |8.5
   Last reconfirmed|                            |2020-07-30
                 CC|                            |rguenth at gcc dot gnu.org
            Summary|Full ABI information        |[8/9/10/11 Regression] Full
                   |missing missing from GCC    |ABI information missing
                   |compiled C                  |missing from GCC compiled C

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  With -O0 -g fflush isn't even mentioned. 
-fno-eliminate-unused-debug-{symbols,types} does not help.  Small testcase:

#include <stdio.h>

int main()
{
  fflush (stdout);
}


GCC 4.8 and 4.9, but only with -O -g, not -O0 -g, have

 <1><39a>: Abbrev Number: 16 (DW_TAG_subprogram)
    <39b>   DW_AT_external    : 1
    <39b>   DW_AT_name        : (indirect string, offset: 0x1e8): fflush
    <39f>   DW_AT_decl_file   : 6
    <3a0>   DW_AT_decl_line   : 204
    <3a1>   DW_AT_prototyped  : 1
    <3a1>   DW_AT_type        : <0x129>
    <3a5>   DW_AT_declaration : 1
    <3a5>   DW_AT_sibling     : <0x3af>
 <2><3a9>: Abbrev Number: 17 (DW_TAG_formal_parameter)
    <3aa>   DW_AT_type        : <0x3af>
 <2><3ae>: Abbrev Number: 0
 <1><3af>: Abbrev Number: 6 (DW_TAG_pointer_type)
    <3b0>   DW_AT_byte_size   : 8
    <3b1>   DW_AT_type        : <0x2e0>

so this is a regression introduced with GCC 5.  But of course we should fix
-O0 -g as well where it doesn't seem to be a regression.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (3 preceding siblings ...)
  2020-07-30  6:14 ` [Bug debug/96383] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
@ 2020-07-30  8:24 ` rguenth at gcc dot gnu.org
  2020-07-30  9:01 ` jakub at gcc dot gnu.org
                   ` (30 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30  8:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note one reason to omit the info might be that it should be available in the
debug information of the callee.  The following simple patch makes the
desired debug information appear at both -O0 -g and -O -g for foo but
not for bar (which is unused):

extern void foo (int);
extern void bar (int);

int main()
{
  foo (1);
}


diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index ea9a34bda6f..3e97c1f4b4e 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2989,7 +2989,7 @@ symbol_table::finalize_compilation_unit (void)
       /* Emit early debug for reachable functions, and by consequence,
         locally scoped symbols.  */
       struct cgraph_node *cnode;
-      FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode)
+      FOR_EACH_FUNCTION/*_WITH_GIMPLE_BODY*/ (cnode)
        (*debug_hooks->early_global_decl) (cnode->decl);

       /* Clean up anything that needs cleaning up after initial debug


The effect on debug info size would need to be evaluated (I'll check
GCC itself for this).

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (4 preceding siblings ...)
  2020-07-30  8:24 ` rguenth at gcc dot gnu.org
@ 2020-07-30  9:01 ` jakub at gcc dot gnu.org
  2020-07-30  9:06 ` rguenther at suse dot de
                   ` (29 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-30  9:01 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think at least compared to 4.8 this regressed with the PR65549 change
r224029.
At least for simple:
extern int foo (int, int);

void
bar (void)
{
  foo (1, 2);
}

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (5 preceding siblings ...)
  2020-07-30  9:01 ` jakub at gcc dot gnu.org
@ 2020-07-30  9:06 ` rguenther at suse dot de
  2020-07-30  9:09 ` jakub at gcc dot gnu.org
                   ` (28 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-07-30  9:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 30 Jul 2020, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |jakub at gcc dot gnu.org
> 
> --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> I think at least compared to 4.8 this regressed with the PR65549 change
> r224029.

Yeah, so that means we've created those DIEs late and only when
doing DW_TAG_GNU_call_site processing which we appearantly not
do at -O0 and thus get no DIE then.  For LTO we need them early
anyway so it makes more sense to create them for all neede calls.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (6 preceding siblings ...)
  2020-07-30  9:06 ` rguenther at suse dot de
@ 2020-07-30  9:09 ` jakub at gcc dot gnu.org
  2020-07-30  9:34 ` rguenth at gcc dot gnu.org
                   ` (27 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-30  9:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Agreed, and we do want the prototypes of used functions even when it costs some
increase in debug info size, because without that one say can't easily call in
a debugger those functions unless debug info for the library they are defined
in is available.
Well, one can always do p ((int (*)(int, int)) foo) (2, 3) instead of just p
foo (2, 3) which gdb disallows because it doesn't have the prototype, but it is
ugly.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (7 preceding siblings ...)
  2020-07-30  9:09 ` jakub at gcc dot gnu.org
@ 2020-07-30  9:34 ` rguenth at gcc dot gnu.org
  2020-07-30 12:34 ` [Bug debug/96383] [8/9/10/11 Regression] Full ABI information " rguenth at gcc dot gnu.org
                   ` (26 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30  9:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
cc1 debug info increases like the following

     VM SIZE                     FILE SIZE
 ++++++++++++++ GROWING       ++++++++++++++
  [ = ]       0 .debug_info   +1.63Mi  +1.3%
  [ = ]       0 .debug_str     +263Ki  +3.4%
  [ = ]       0 .debug_abbrev  +101Ki  +4.9%
  [ = ]       0 .debug_line   +5.71Ki  +0.0%
   +44%     +16 [Unmapped]        +48  +1.2%

 -------------- SHRINKING     --------------
  [ = ]       0 .debug_loc       -213  -0.0%
  -0.0%     -48 .text             -48  -0.0%
  [ = ]       0 .debug_ranges     -16  -0.0%

  -0.0%     -32 TOTAL         +1.99Mi  +0.6%

Throwing dzw on both makes the difference

     VM SIZE                     FILE SIZE
 ++++++++++++++ GROWING       ++++++++++++++
  [ = ]       0 .debug_info   +1023Ki  +1.3%
  [ = ]       0 .debug_str     +263Ki  +3.4%
  [ = ]       0 .debug_abbrev +84.9Ki  +4.6%
  [ = ]       0 .debug_line   +5.71Ki  +0.0%
   +44%     +16 [Unmapped]        +50  +1.2%

 -------------- SHRINKING     --------------
  [ = ]       0 .debug_loc       -213  -0.0%
  -0.0%     -48 .text             -48  -0.0%
  [ = ]       0 .debug_ranges     -16  -0.0%

  -0.0%     -32 TOTAL         +1.35Mi  +0.5%

I'm with Jakub here, having the information is useful, esp. at -O0 where
we never had any of it.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (8 preceding siblings ...)
  2020-07-30  9:34 ` rguenth at gcc dot gnu.org
@ 2020-07-30 12:34 ` rguenth at gcc dot gnu.org
  2020-07-30 13:29 ` rguenth at gcc dot gnu.org
                   ` (25 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30 12:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 48960
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48960&action=edit
updated patch

Avoid aliases and thunks, avoid not declared builtins w/o body.  Updates
stats for cc1 to

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +1.0% +1.21Mi  [ = ]       0    .debug_info
  +4.4% +92.0Ki  [ = ]       0    .debug_abbrev
  +0.1% +6.76Ki  [ = ]       0    .debug_str
  +0.0% +5.80Ki  [ = ]       0    .debug_line
  +0.0%    +426  [ = ]       0    .debug_loc
  +0.0%    +144  [ = ]       0    .debug_ranges
  +0.0%     +80  +0.0%     +80    .text
  +0.0%     +52  [ = ]       0    .strtab
  +0.0%     +32  +0.0%     +32    .rodata
  +0.0%     +24  [ = ]       0    .symtab
  +0.0%     +16  +0.0%     +16    .eh_frame
  +0.0%      +8  +0.0%      +8    .eh_frame_hdr
  -1.9%    -138  [ = ]       0    [Unmapped]
  +0.4% +1.31Mi  +0.0%    +136    TOTAL

and after applying DWZ to both:

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +1.0%  +751Ki  [ = ]       0    .debug_info
  +4.8% +87.8Ki  [ = ]       0    .debug_abbrev
  +0.1% +6.76Ki  [ = ]       0    .debug_str
  +0.0% +5.80Ki  [ = ]       0    .debug_line
  +0.0%    +426  [ = ]       0    .debug_loc
  +0.0%    +144  [ = ]       0    .debug_ranges
  +0.0%     +80  +0.0%     +80    .text
  +0.0%     +52  [ = ]       0    .strtab
  +0.0%     +32  +0.0%     +32    .rodata
  +0.0%     +24  [ = ]       0    .symtab
  +0.0%     +16  +0.0%     +16    .eh_frame
  +0.0%      +8  +0.0%      +8    .eh_frame_hdr
  -1.9%    -137  [ = ]       0    [Unmapped]
  +0.3%  +852Ki  +0.0%    +136    TOTAL

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (9 preceding siblings ...)
  2020-07-30 12:34 ` [Bug debug/96383] [8/9/10/11 Regression] Full ABI information " rguenth at gcc dot gnu.org
@ 2020-07-30 13:29 ` rguenth at gcc dot gnu.org
  2020-07-31  8:23 ` ebotcazou at gcc dot gnu.org
                   ` (24 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30 13:29 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu.org

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
So with the attached 'updated patch' I see

                === gnat tests ===


Running target unix/
FAIL: gnat.dg/debug11_pkg.adb scan-assembler-not foreign_imported_func
FAIL: gnat.dg/debug9.adb scan-assembler-times \\\\(DIE \\\\(0x[a-f0-9]*\\\\)
DW_
TAG_type_unit\\\\) 0

where the first FAIL seems obvious from the name of 'foreign_imported_func'
and the changed outcome is expected and OK?

For the second FAIL I see type units for system__secondary_stack_* types
and the extra subroutines are likely the invoked system__secondary_stack_*
functions like

 <1><77>: Abbrev Number: 38 (DW_TAG_subprogram)
    <78>   DW_AT_external    : 1
    <78>   DW_AT_name        : (indirect string, offset: 0x47):
system__secondar
y_stack__ss_release
    <7c>   DW_AT_decl_file   : 2
    <7d>   DW_AT_decl_line   : 95
    <7e>   DW_AT_decl_column : 14
    <7f>   DW_AT_sibling     : <0x8e>
 <2><83>: Abbrev Number: 39 (DW_TAG_formal_parameter)
    <84>   DW_AT_name        : m
    <86>   DW_AT_decl_file   : 2
    <87>   DW_AT_decl_line   : 95
    <88>   DW_AT_decl_column : 26
    <89>   DW_AT_type        : <0x8e>
 <2><8d>: Abbrev Number: 0

note they are not DECL_ARTIFICIAL and also not DECL_IGNORED.  Now the
testcase tries to test sth else than no type units at all as its
comment explains.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (10 preceding siblings ...)
  2020-07-30 13:29 ` rguenth at gcc dot gnu.org
@ 2020-07-31  8:23 ` ebotcazou at gcc dot gnu.org
  2020-07-31  8:28 ` jakub at gcc dot gnu.org
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2020-07-31  8:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> So with the attached 'updated patch' I see
> 
>                 === gnat tests ===
> 
> 
> Running target unix/
> FAIL: gnat.dg/debug11_pkg.adb scan-assembler-not foreign_imported_func
> FAIL: gnat.dg/debug9.adb scan-assembler-times \\\\(DIE \\\\(0x[a-f0-9]*\\\\)
> DW_
> TAG_type_unit\\\\) 0
> 
> where the first FAIL seems obvious from the name of 'foreign_imported_func'
> and the changed outcome is expected and OK?

The annoying thing is the discrepancy with the variable case; in other words,
the patch is undercutting gnat_write_global_declarations (utils.c:5913).

> For the second FAIL I see type units for system__secondary_stack_* types
> and the extra subroutines are likely the invoked system__secondary_stack_*
> functions like
> 
>  <1><77>: Abbrev Number: 38 (DW_TAG_subprogram)
>     <78>   DW_AT_external    : 1
>     <78>   DW_AT_name        : (indirect string, offset: 0x47):
> system__secondar
> y_stack__ss_release
>     <7c>   DW_AT_decl_file   : 2
>     <7d>   DW_AT_decl_line   : 95
>     <7e>   DW_AT_decl_column : 14
>     <7f>   DW_AT_sibling     : <0x8e>
>  <2><83>: Abbrev Number: 39 (DW_TAG_formal_parameter)
>     <84>   DW_AT_name        : m
>     <86>   DW_AT_decl_file   : 2
>     <87>   DW_AT_decl_line   : 95
>     <88>   DW_AT_decl_column : 26
>     <89>   DW_AT_type        : <0x8e>
>  <2><8d>: Abbrev Number: 0
> 
> note they are not DECL_ARTIFICIAL and also not DECL_IGNORED.  Now the
> testcase tries to test sth else than no type units at all as its
> comment explains.

Yes, I agree that there is probably a missing DECL_IGNORED here.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (11 preceding siblings ...)
  2020-07-31  8:23 ` ebotcazou at gcc dot gnu.org
@ 2020-07-31  8:28 ` jakub at gcc dot gnu.org
  2020-07-31  8:43 ` rguenth at gcc dot gnu.org
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-31  8:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Eric Botcazou from comment #12)
> > So with the attached 'updated patch' I see
> > 
> >                 === gnat tests ===
> > 
> > 
> > Running target unix/
> > FAIL: gnat.dg/debug11_pkg.adb scan-assembler-not foreign_imported_func
> > FAIL: gnat.dg/debug9.adb scan-assembler-times \\\\(DIE \\\\(0x[a-f0-9]*\\\\)
> > DW_
> > TAG_type_unit\\\\) 0
> > 
> > where the first FAIL seems obvious from the name of 'foreign_imported_func'
> > and the changed outcome is expected and OK?
> 
> The annoying thing is the discrepancy with the variable case; in other
> words, the patch is undercutting gnat_write_global_declarations
> (utils.c:5913).

So, for Ada, would you like to preserve current behavior rather than what
Richard's patch does?
If so, can't we have a langhook that decides that?
I don't know much about Ada, but would think that having the prototypes even
for functions defined in other shared libraries if they are called or
referenced in the TU is useful even for Ada.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (12 preceding siblings ...)
  2020-07-31  8:28 ` jakub at gcc dot gnu.org
@ 2020-07-31  8:43 ` rguenth at gcc dot gnu.org
  2020-07-31  8:49 ` jakub at gcc dot gnu.org
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-31  8:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #13)
> (In reply to Eric Botcazou from comment #12)
> > > So with the attached 'updated patch' I see
> > > 
> > >                 === gnat tests ===
> > > 
> > > 
> > > Running target unix/
> > > FAIL: gnat.dg/debug11_pkg.adb scan-assembler-not foreign_imported_func
> > > FAIL: gnat.dg/debug9.adb scan-assembler-times \\\\(DIE \\\\(0x[a-f0-9]*\\\\)
> > > DW_
> > > TAG_type_unit\\\\) 0
> > > 
> > > where the first FAIL seems obvious from the name of 'foreign_imported_func'
> > > and the changed outcome is expected and OK?
> > 
> > The annoying thing is the discrepancy with the variable case; in other
> > words, the patch is undercutting gnat_write_global_declarations
> > (utils.c:5913).

Ah, indeed.

> So, for Ada, would you like to preserve current behavior rather than what
> Richard's patch does?
> If so, can't we have a langhook that decides that?
> I don't know much about Ada, but would think that having the prototypes even
> for functions defined in other shared libraries if they are called or
> referenced in the TU is useful even for Ada.

I think that we need that loop in cgraphunit.c at all shows that frontends
are not enough in control...  The middle-end cannot really make the best
decision on what declarations are worth emitting debug info for so what
Ada does looks best here and maybe other FEs should follow suit...

Note that Ada does this even when -fsyntax-only (if it supports that).

I don't remember exactly but I think we've chosen to emit function DIEs
during unit finalization instead of at rest_of_decl_compilation time
because of ordering issues (FEs call rest_of_decl_compilation very much
too often...).

The most simplistic langhook would be to ask the FE whether a specific
decl should get debug info (but we have DECL_IGNORED for this already ...?).

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (13 preceding siblings ...)
  2020-07-31  8:43 ` rguenth at gcc dot gnu.org
@ 2020-07-31  8:49 ` jakub at gcc dot gnu.org
  2020-07-31  8:51 ` ebotcazou at gcc dot gnu.org
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-31  8:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Unless we want for C/C++ to emit DW_AT_external DIEs for all function
prototypes that appear in the TU, we need ME help, because only there we
analyze the callgraph and prune  cgraph nodes that are unreachable.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (14 preceding siblings ...)
  2020-07-31  8:49 ` jakub at gcc dot gnu.org
@ 2020-07-31  8:51 ` ebotcazou at gcc dot gnu.org
  2020-07-31  8:52 ` rguenther at suse dot de
                   ` (19 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2020-07-31  8:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> So, for Ada, would you like to preserve current behavior rather than what
> Richard's patch does?
> If so, can't we have a langhook that decides that?
> I don't know much about Ada, but would think that having the prototypes even
> for functions defined in other shared libraries if they are called or
> referenced in the TU is useful even for Ada.

This yields useless duplication in 99.99% of the cases though and the debug
info is already large enough.  Can't you do this from the front-end instead,
for the c-family of compilers?

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (15 preceding siblings ...)
  2020-07-31  8:51 ` ebotcazou at gcc dot gnu.org
@ 2020-07-31  8:52 ` rguenther at suse dot de
  2020-07-31  9:00 ` jakub at gcc dot gnu.org
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-07-31  8:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 31 Jul 2020, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> --- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> Unless we want for C/C++ to emit DW_AT_external DIEs for all function
> prototypes that appear in the TU, we need ME help, because only there we
> analyze the callgraph and prune  cgraph nodes that are unreachable.

Well, not sure - FEs do quite a good job with unused warnings by
simply tracking things with TREE_USED so I guess global extern decls
can be tracked as used/unused as well by FEs and what is a use
(and worth emitting debug for) may be better decided by the FE,
say for offsetof (X, m) we maybe want debug info for X even if it
is not otherwise used?

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (16 preceding siblings ...)
  2020-07-31  8:52 ` rguenther at suse dot de
@ 2020-07-31  9:00 ` jakub at gcc dot gnu.org
  2020-07-31  9:10 ` rguenther at suse dot de
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-31  9:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to rguenther@suse.de from comment #17)
> Well, not sure - FEs do quite a good job with unused warnings by
> simply tracking things with TREE_USED so I guess global extern decls
> can be tracked as used/unused as well by FEs and what is a use
> (and worth emitting debug for) may be better decided by the FE,
> say for offsetof (X, m) we maybe want debug info for X even if it
> is not otherwise used?

Perhaps for C, but for C++ with thousands of inline functions everywhere pretty
much everything is TREE_USED.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (17 preceding siblings ...)
  2020-07-31  9:00 ` jakub at gcc dot gnu.org
@ 2020-07-31  9:10 ` rguenther at suse dot de
  2020-07-31  9:15 ` jakub at gcc dot gnu.org
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-07-31  9:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #19 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 31 Jul 2020, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> --- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> (In reply to rguenther@suse.de from comment #17)
> > Well, not sure - FEs do quite a good job with unused warnings by
> > simply tracking things with TREE_USED so I guess global extern decls
> > can be tracked as used/unused as well by FEs and what is a use
> > (and worth emitting debug for) may be better decided by the FE,
> > say for offsetof (X, m) we maybe want debug info for X even if it
> > is not otherwise used?
> 
> Perhaps for C, but for C++ with thousands of inline functions everywhere pretty
> much everything is TREE_USED.

True...

So we could add 
lang_hooks.finalize_fndecl_referenced_from_final_symboltable ()

with the default implementation registering debug for nodes
with bodies and for C/C++ override this to also register debug
for externals?  Not sure if we should hand it the cgraph node
or whether FEs should figure out whether it is an alias or
thunk in their own representation.

Ada could leave it as default or do nothing in it.

We need a better name though.  Not sure if we need to ever do
sth else from that hook and thus make it sepecific for debug
emission...

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (18 preceding siblings ...)
  2020-07-31  9:10 ` rguenther at suse dot de
@ 2020-07-31  9:15 ` jakub at gcc dot gnu.org
  2020-07-31 10:04 ` rguenther at suse dot de
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-31  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
lang_hooks.finalize_early_debug_info ?
In the default definition move there just the
      /* Emit early debug for reachable functions, and by consequence,
         locally scoped symbols.  */
      struct cgraph_node *cnode;
      FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode)
        (*debug_hooks->early_global_decl) (cnode->decl);
and for c-family do what you were testing?

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (19 preceding siblings ...)
  2020-07-31  9:15 ` jakub at gcc dot gnu.org
@ 2020-07-31 10:04 ` rguenther at suse dot de
  2020-07-31 12:04 ` ebotcazou at gcc dot gnu.org
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-07-31 10:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #21 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 31 Jul 2020, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> --- Comment #20 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> lang_hooks.finalize_early_debug_info ?
> In the default definition move there just the
>       /* Emit early debug for reachable functions, and by consequence,
>          locally scoped symbols.  */
>       struct cgraph_node *cnode;
>       FOR_EACH_FUNCTION_WITH_GIMPLE_BODY (cnode)
>         (*debug_hooks->early_global_decl) (cnode->decl);
> and for c-family do what you were testing?

Hmm, works for me I guess.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (20 preceding siblings ...)
  2020-07-31 10:04 ` rguenther at suse dot de
@ 2020-07-31 12:04 ` ebotcazou at gcc dot gnu.org
  2020-07-31 12:10 ` jakub at gcc dot gnu.org
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2020-07-31 12:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #22 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
On the other hand, if all it takes to avoid the new DIEs is to set the
DECL_IGNORED_P flag, then it might be simpler to go ahead with the change and
set the flag in Ada more often.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (21 preceding siblings ...)
  2020-07-31 12:04 ` ebotcazou at gcc dot gnu.org
@ 2020-07-31 12:10 ` jakub at gcc dot gnu.org
  2020-07-31 12:23 ` rguenther at suse dot de
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-07-31 12:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess one question is what will e.g. LTO do when merging a DECL_IGNORED
DECL_EXTERNAL FUNCTION_DECL with !DECL_IGNORED definition.

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (22 preceding siblings ...)
  2020-07-31 12:10 ` jakub at gcc dot gnu.org
@ 2020-07-31 12:23 ` rguenther at suse dot de
  2020-07-31 13:19 ` cvs-commit at gcc dot gnu.org
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-07-31 12:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #24 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 31 Jul 2020, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> --- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> I guess one question is what will e.g. LTO do when merging a DECL_IGNORED
> DECL_EXTERNAL FUNCTION_DECL with !DECL_IGNORED definition.

And also what other side effects the flag has, like no GNU_call_site
tags for a call to such function maybe?  Who knows.  I'm posting the
langhook variant now

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

* [Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (23 preceding siblings ...)
  2020-07-31 12:23 ` rguenther at suse dot de
@ 2020-07-31 13:19 ` cvs-commit at gcc dot gnu.org
  2020-07-31 13:20 ` [Bug debug/96383] [8/9/10 " rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-07-31 13:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #25 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

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

commit r11-2455-gc6ef9d8d3f11221df1ea6358b8d4e79e42f074fb
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Jul 30 11:46:43 2020 +0200

    debug/96383 - emit debug info for used external functions

    This makes sure to emit full declaration DIEs including
    formal parameters for used external functions.  This helps
    debugging when debug information of the external entity is
    not available and also helps external tools cross-checking
    ABI compatibility which was the bug reporters use case.

    For cc1 this affects debug information size as follows:

         VM SIZE                     FILE SIZE
     ++++++++++++++ GROWING       ++++++++++++++
      [ = ]       0 .debug_info   +1.63Mi  +1.3%
      [ = ]       0 .debug_str     +263Ki  +3.4%
      [ = ]       0 .debug_abbrev  +101Ki  +4.9%
      [ = ]       0 .debug_line   +5.71Ki  +0.0%
       +44%     +16 [Unmapped]        +48  +1.2%

     -------------- SHRINKING     --------------
      [ = ]       0 .debug_loc       -213  -0.0%
      -0.0%     -48 .text             -48  -0.0%
      [ = ]       0 .debug_ranges     -16  -0.0%

      -0.0%     -32 TOTAL         +1.99Mi  +0.6%

    and DWARF compression via DWZ can only shave off minor bits
    here.

    Previously we emitted no DIEs for external functions at all
    unless they were referenced via DW_TAG_GNU_call_site which
    for some GCC revs caused a regular DIE to appear and since
    GCC 4.9 only a stub without formal parameters.  This means
    at -O0 we did not emit any DIE for external functions
    but with optimization we emitted stubs.

    2020-07-30  Richard Biener  <rguenther@suse.de>

            PR debug/96383
            * langhooks-def.h (lhd_finalize_early_debug): Declare.
            (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
            (LANG_HOOKS_INITIALIZER): Amend.
            * langhooks.c: Include cgraph.h and debug.h.
            (lhd_finalize_early_debug): Default implementation from
            former code in finalize_compilation_unit.
            * langhooks.h (lang_hooks::finalize_early_debug): Add.
            * cgraphunit.c (symbol_table::finalize_compilation_unit):
            Call the finalize_early_debug langhook.

    gcc/c-family/
            * c-common.h (c_common_finalize_early_debug): Declare.
            * c-common.c: Include debug.h.
            (c_common_finalize_early_debug): finalize_early_debug langhook
            implementation generating debug for extern declarations.

    gcc/c/
            * c-objc-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
            Define to c_common_finalize_early_debug.

    gcc/cp/
            * cp-objcp-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
            Define to c_common_finalize_early_debug.

    gcc/testsuite/
            * gcc.dg/debug/dwarf2/pr96383-1.c: New testcase.
            * gcc.dg/debug/dwarf2/pr96383-2.c: Likewise.

    libstdc++-v3/
            * testsuite/20_util/assume_aligned/3.cc: Use -g0.

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (24 preceding siblings ...)
  2020-07-31 13:19 ` cvs-commit at gcc dot gnu.org
@ 2020-07-31 13:20 ` rguenth at gcc dot gnu.org
  2020-07-31 13:20 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-31 13:20 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |11.0
            Summary|[8/9/10/11 Regression] Full |[8/9/10 Regression] Full
                   |ABI information missing     |ABI information missing
                   |from GCC compiled C         |from GCC compiled C
      Known to fail|11.0                        |10.2.0

--- Comment #26 from Richard Biener <rguenth at gcc dot gnu.org> ---
For the C familiy this should now be fixed on trunk.

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (25 preceding siblings ...)
  2020-07-31 13:20 ` [Bug debug/96383] [8/9/10 " rguenth at gcc dot gnu.org
@ 2020-07-31 13:20 ` rguenth at gcc dot gnu.org
  2020-08-02 18:42 ` slyfox at gcc dot gnu.org
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-31 13:20 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

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

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (26 preceding siblings ...)
  2020-07-31 13:20 ` rguenth at gcc dot gnu.org
@ 2020-08-02 18:42 ` slyfox at gcc dot gnu.org
  2020-12-02 12:17 ` aoliva at gcc dot gnu.org
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: slyfox at gcc dot gnu.org @ 2020-08-02 18:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
Bug 96383 depends on bug 96404, which changed state.

Bug 96404 Summary: [11 Regression] Bootstrap failure
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96404

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

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (27 preceding siblings ...)
  2020-08-02 18:42 ` slyfox at gcc dot gnu.org
@ 2020-12-02 12:17 ` aoliva at gcc dot gnu.org
  2020-12-02 12:27 ` rguenther at suse dot de
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: aoliva at gcc dot gnu.org @ 2020-12-02 12:17 UTC (permalink / raw)
  To: gcc-bugs

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

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aoliva at gcc dot gnu.org

--- Comment #27 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
FTR, the patch for bug 97060 was backported to gcc-10, but it depends on this
patch to work at -O0.

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (28 preceding siblings ...)
  2020-12-02 12:17 ` aoliva at gcc dot gnu.org
@ 2020-12-02 12:27 ` rguenther at suse dot de
  2021-04-30  8:07 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenther at suse dot de @ 2020-12-02 12:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #28 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 2 Dec 2020, aoliva at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96383
> 
> Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |aoliva at gcc dot gnu.org
> 
> --- Comment #27 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
> FTR, the patch for bug 97060 was backported to gcc-10, but it depends on this
> patch to work at -O0.

I do not plan to backport this patch further.

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

* [Bug debug/96383] [8/9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (29 preceding siblings ...)
  2020-12-02 12:27 ` rguenther at suse dot de
@ 2021-04-30  8:07 ` rguenth at gcc dot gnu.org
  2021-05-14  9:53 ` [Bug debug/96383] [9/10 " jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-30  8:07 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

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

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

* [Bug debug/96383] [9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (30 preceding siblings ...)
  2021-04-30  8:07 ` rguenth at gcc dot gnu.org
@ 2021-05-14  9:53 ` jakub at gcc dot gnu.org
  2021-06-01  8:18 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-05-14  9:53 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|8.5                         |9.4

--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 8 branch is being closed.

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

* [Bug debug/96383] [9/10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (31 preceding siblings ...)
  2021-05-14  9:53 ` [Bug debug/96383] [9/10 " jakub at gcc dot gnu.org
@ 2021-06-01  8:18 ` rguenth at gcc dot gnu.org
  2022-05-27  9:43 ` [Bug debug/96383] [10 " rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-06-01  8:18 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.4                         |9.5

--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9.4 is being released, retargeting bugs to GCC 9.5.

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

* [Bug debug/96383] [10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (32 preceding siblings ...)
  2021-06-01  8:18 ` rguenth at gcc dot gnu.org
@ 2022-05-27  9:43 ` rguenth at gcc dot gnu.org
  2022-06-28 10:41 ` jakub at gcc dot gnu.org
  2023-07-07  8:59 ` rguenth at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:43 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.5                         |10.4

--- Comment #31 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9 branch is being closed

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

* [Bug debug/96383] [10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (33 preceding siblings ...)
  2022-05-27  9:43 ` [Bug debug/96383] [10 " rguenth at gcc dot gnu.org
@ 2022-06-28 10:41 ` jakub at gcc dot gnu.org
  2023-07-07  8:59 ` rguenth at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:41 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

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

* [Bug debug/96383] [10 Regression] Full ABI information missing from GCC compiled C
  2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
                   ` (34 preceding siblings ...)
  2022-06-28 10:41 ` jakub at gcc dot gnu.org
@ 2023-07-07  8:59 ` rguenth at gcc dot gnu.org
  35 siblings, 0 replies; 37+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07  8:59 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
      Known to fail|                            |10.5.0
   Target Milestone|10.5                        |11.0

--- Comment #33 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed in GCC 11.

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

end of thread, other threads:[~2023-07-07  8:59 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29 21:20 [Bug c/96383] New: Full ABI information missing missing from GCC compiled C woodard at redhat dot com
2020-07-29 21:23 ` [Bug c/96383] " woodard at redhat dot com
2020-07-29 21:23 ` woodard at redhat dot com
2020-07-30  3:52 ` [Bug debug/96383] " woodard at redhat dot com
2020-07-30  6:14 ` [Bug debug/96383] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
2020-07-30  8:24 ` rguenth at gcc dot gnu.org
2020-07-30  9:01 ` jakub at gcc dot gnu.org
2020-07-30  9:06 ` rguenther at suse dot de
2020-07-30  9:09 ` jakub at gcc dot gnu.org
2020-07-30  9:34 ` rguenth at gcc dot gnu.org
2020-07-30 12:34 ` [Bug debug/96383] [8/9/10/11 Regression] Full ABI information " rguenth at gcc dot gnu.org
2020-07-30 13:29 ` rguenth at gcc dot gnu.org
2020-07-31  8:23 ` ebotcazou at gcc dot gnu.org
2020-07-31  8:28 ` jakub at gcc dot gnu.org
2020-07-31  8:43 ` rguenth at gcc dot gnu.org
2020-07-31  8:49 ` jakub at gcc dot gnu.org
2020-07-31  8:51 ` ebotcazou at gcc dot gnu.org
2020-07-31  8:52 ` rguenther at suse dot de
2020-07-31  9:00 ` jakub at gcc dot gnu.org
2020-07-31  9:10 ` rguenther at suse dot de
2020-07-31  9:15 ` jakub at gcc dot gnu.org
2020-07-31 10:04 ` rguenther at suse dot de
2020-07-31 12:04 ` ebotcazou at gcc dot gnu.org
2020-07-31 12:10 ` jakub at gcc dot gnu.org
2020-07-31 12:23 ` rguenther at suse dot de
2020-07-31 13:19 ` cvs-commit at gcc dot gnu.org
2020-07-31 13:20 ` [Bug debug/96383] [8/9/10 " rguenth at gcc dot gnu.org
2020-07-31 13:20 ` rguenth at gcc dot gnu.org
2020-08-02 18:42 ` slyfox at gcc dot gnu.org
2020-12-02 12:17 ` aoliva at gcc dot gnu.org
2020-12-02 12:27 ` rguenther at suse dot de
2021-04-30  8:07 ` rguenth at gcc dot gnu.org
2021-05-14  9:53 ` [Bug debug/96383] [9/10 " jakub at gcc dot gnu.org
2021-06-01  8:18 ` rguenth at gcc dot gnu.org
2022-05-27  9:43 ` [Bug debug/96383] [10 " rguenth at gcc dot gnu.org
2022-06-28 10:41 ` jakub at gcc dot gnu.org
2023-07-07  8:59 ` rguenth 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).