public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types
@ 2012-05-23 21:13 jan.kratochvil at redhat dot com
  2012-05-24  0:16 ` [Bug symtab/14148] " dje at google dot com
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: jan.kratochvil at redhat dot com @ 2012-05-23 21:13 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14148

             Bug #: 14148
           Summary: -fdebug-types-section regresses ststic scope of types
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: symtab
        AssignedTo: unassigned@sourceware.org
        ReportedBy: jan.kratochvil@redhat.com
    Classification: Unclassified


FAILing new testcase for -fdebug-types-section [Re: [RFC - Python scripting]
New methods Symtab.global_block and Symtab.static_block (docs included)]
http://sourceware.org/ml/gdb-patches/2012-05/msg00132.html

PASS:
C="gcc -fno-debug-types-section -g -c -x c -";echo 'struct s { int i; }; extern
void f (void); int main (void) { struct s a; f (); return 0; }'|$C -o 36.o;echo
'struct s { int j; }; void f (void) { struct s b; }'|$C -o 36b.o;gcc -o 36 36.o
36b.o;./gdb -readnow ./36 -ex start -ex 'ptype struct s' -ex step -ex 'ptype
struct s' -ex c -ex q 2>/dev/null|grep -w int
    int i;
    int j;
FAIL:
C="gcc -fdebug-types-section -g -c -x c -";echo 'struct s { int i; }; extern
void f (void); int main (void) { struct s a; f (); return 0; }'|$C -o 36.o;echo
'struct s { int j; }; void f (void) { struct s b; }'|$C -o 36b.o;gcc -o 36 36.o
36b.o;./gdb -readnow ./36 -ex start -ex 'ptype struct s' -ex step -ex 'ptype
struct s' -ex c -ex q 2>/dev/null|grep -w int
    int j;
    int j;

In a different more readable form:

==> 36.c <==
struct s { int i; };
extern void f (void);
int main (void) {
  struct s a;
  f ();
  return 0;
}
==> 36b.c <==
struct s { int j; };
void f (void) {
  struct s b;
}
$ gcc -fdebug-types-section -o 36 36.c 36b.c -Wall -g
$ ./gdb -readnow ./36
(gdb) start
(gdb) ptype struct s
type = struct s {
    int j;
}
(gdb) ptype a
type = struct s {
    int i;
}
(gdb) whatis a
type = struct s

That is with -fdebug-types-section GDB no longer provides STATIC_BLOCK scope
for DW_TAG_type_unit types.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug symtab/14148] -fdebug-types-section regresses ststic scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
@ 2012-05-24  0:16 ` dje at google dot com
  2012-05-24  2:18 ` [Bug symtab/14148] -fdebug-types-section regresses static " jan.kratochvil at redhat dot com
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dje at google dot com @ 2012-05-24  0:16 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14148

dje at google dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ccoutant at google dot com,
                   |                            |dje at google dot com

--- Comment #1 from dje at google dot com 2012-05-24 00:15:47 UTC ---
Cary told me that Jason is changing gcc to always create a skeleton type in the
CU with the DW_FORM_ref_sig8 living in the skeleton entry.
It's a space saving optimization.

Whether we need to care about producers that don't do this, I'm not sure.
Expanding scan_partial_symbols to watch for type unit references feels
problematic.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
  2012-05-24  0:16 ` [Bug symtab/14148] " dje at google dot com
@ 2012-05-24  2:18 ` jan.kratochvil at redhat dot com
  2012-05-24  4:35 ` dje at google dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jan.kratochvil at redhat dot com @ 2012-05-24  2:18 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14148

Jan Kratochvil <jan.kratochvil at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|-fdebug-types-section       |-fdebug-types-section
                   |regresses ststic scope of   |regresses static scope of
                   |types                       |types

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
  2012-05-24  0:16 ` [Bug symtab/14148] " dje at google dot com
  2012-05-24  2:18 ` [Bug symtab/14148] -fdebug-types-section regresses static " jan.kratochvil at redhat dot com
@ 2012-05-24  4:35 ` dje at google dot com
  2020-04-13 21:33 ` vries at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dje at google dot com @ 2012-05-24  4:35 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=14148

--- Comment #2 from dje at google dot com 2012-05-24 04:34:49 UTC ---
>From Jan:
Jason's patch should be http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53235 which
(a) still regresses and (b) it will use / uses DW_AT_declaration so I guess it
will not work out of the box, but maybe a GDB fix can be easier on top of it.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
                   ` (2 preceding siblings ...)
  2012-05-24  4:35 ` dje at google dot com
@ 2020-04-13 21:33 ` vries at gcc dot gnu.org
  2020-04-17 13:39 ` vries at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2020-04-13 21:33 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=14148

--- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #3)
> So, AFAICT gcc drops the top-level struct s dies. I think this is a gcc bug,
> I'll file a PR.

PR gcc/90232 - "gcc drops top-level dies with -fdebug-types-section" (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90232 ).

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
                   ` (3 preceding siblings ...)
  2020-04-13 21:33 ` vries at gcc dot gnu.org
@ 2020-04-17 13:39 ` vries at gcc dot gnu.org
  2020-04-25 15:13 ` vries at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2020-04-17 13:39 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=14148

--- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #3)
> I'm not sure if this causes the difference with and without -readnow
> described in comment 0.

With a tentative patch for the gcc PR in place, and this gdb patch:
...
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 4910c9b6fc..cf81092691 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -15458,7 +15458,8 @@ process_structure_scope (struct die_info *die, struct
dwarf2_cu *cu)
      these DIEs are identified by the fact that they have no byte_size
      attribute, and a declaration attribute.  */
   if (dwarf2_attr (die, DW_AT_byte_size, cu) != NULL
-      || !die_is_declaration (die, cu))
+      || !die_is_declaration (die, cu)
+      || dwarf2_attr (die, DW_AT_signature, cu) != NULL)
     {
       struct symbol *sym = new_symbol (die, type, cu);

...
we have the expected behaviour.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
                   ` (4 preceding siblings ...)
  2020-04-17 13:39 ` vries at gcc dot gnu.org
@ 2020-04-25 15:13 ` vries at gcc dot gnu.org
  2020-04-25 15:19 ` cvs-commit at gcc dot gnu.org
  2020-04-29 11:23 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2020-04-25 15:13 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=14148

--- Comment #6 from Tom de Vries <vries at gcc dot gnu.org> ---
https://sourceware.org/pipermail/gdb-patches/2020-April/167842.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
                   ` (5 preceding siblings ...)
  2020-04-25 15:13 ` vries at gcc dot gnu.org
@ 2020-04-25 15:19 ` cvs-commit at gcc dot gnu.org
  2020-04-29 11:23 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-25 15:19 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=14148

--- Comment #7 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom de Vries <vries@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d472f0fbaac80ed6363f26c3f417b9eee7d5e7fc

commit d472f0fbaac80ed6363f26c3f417b9eee7d5e7fc
Author: Tom de Vries <tdevries@suse.de>
Date:   Sat Apr 25 17:19:26 2020 +0200

    [gdb/testsuite] Add target board debug-types

    This patch adds a target board debug-types that switches on
    -fdebug-types-section by default.

    This -fdebug-types-section option is a gcc option that enables the
generation
    of a .debug_types section, which is only effective for DWARF version 4.

    There are two other boards that enable this: dwarf4-gdb-index and fisson,
but
    while those test some meaningful combination of options, this board is
    intended to test only -fdebug-types-section.

    Current results with gcc 7.5.0 are:
    ...
     === gdb Summary ===

     # of expected passes            75832
     # of unexpected failures        2841
     # of expected failures          130
     # of known failures             75
     # of unresolved testcases       22
     # of untested testcases         37
     # of unsupported tests          83
    ...

    Related known issues:
    - PR gcc/90232 - "gcc drops top-level dies with -fdebug-types-section"
    - PR gdb/25875 - "segv in ada_discrete_type_low_bound"
    - PR gdb/14148 - "-fdebug-types-section regresses static scope of types"

    Tested on x86_64-linux.

    gdb/testsuite/ChangeLog:

    2020-04-25  Tom de Vries  <tdevries@suse.de>

            * boards/debug-types.exp: New file.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug symtab/14148] -fdebug-types-section regresses static scope of types
  2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
                   ` (6 preceding siblings ...)
  2020-04-25 15:19 ` cvs-commit at gcc dot gnu.org
@ 2020-04-29 11:23 ` vries at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: vries at gcc dot gnu.org @ 2020-04-29 11:23 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=14148

Tom de Vries <vries at gcc dot gnu.org> changed:

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

--- Comment #8 from Tom de Vries <vries at gcc dot gnu.org> ---
GDB patch with test-case committed (
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=15cd93d05e8e84644acc8bbeaa3d5f4280cc5159
).

The testsuite test-cases which fail due to the gcc PR have been xfailed (
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6e4e3fe1b6d68bde1f4e022bd0675fe36420e976
).

Marking resolved-fixed.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

end of thread, other threads:[~2020-04-29 11:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-23 21:13 [Bug symtab/14148] New: -fdebug-types-section regresses ststic scope of types jan.kratochvil at redhat dot com
2012-05-24  0:16 ` [Bug symtab/14148] " dje at google dot com
2012-05-24  2:18 ` [Bug symtab/14148] -fdebug-types-section regresses static " jan.kratochvil at redhat dot com
2012-05-24  4:35 ` dje at google dot com
2020-04-13 21:33 ` vries at gcc dot gnu.org
2020-04-17 13:39 ` vries at gcc dot gnu.org
2020-04-25 15:13 ` vries at gcc dot gnu.org
2020-04-25 15:19 ` cvs-commit at gcc dot gnu.org
2020-04-29 11:23 ` vries 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).