[Bug debug/96383] [8/9/10/11 Regression] Full ABI information missing missing from GCC compiled C

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jul 30 06:14:28 GMT 2020


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.

More information about the Gcc-bugs mailing list