public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug symtab/14601] New: segv when reading DW_TAG_imported_declaration,module
@ 2012-09-20 20:49 dje at google dot com
  2012-09-20 20:52 ` [Bug symtab/14601] " dje at google dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: dje at google dot com @ 2012-09-20 20:49 UTC (permalink / raw)
  To: gdb-prs


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

             Bug #: 14601
           Summary: segv when reading DW_TAG_imported_declaration,module
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: symtab
        AssignedTo: unassigned@sourceware.org
        ReportedBy: dje@google.com
    Classification: Unclassified


buildsym.c:using_directive is assumed to be NULL at the start of symbol
processing.  Not all code paths ensure this.  If a
DW_TAG_imported_declaration,module happens outside of finish_block_internal or
push_context, it won't get reset back to NULL, leaving a potentially dangling
value.

To see the crash you need to compile the testcase with -fdebug-types-section,
but there's nothing inherently dwarf4 or even dwarf-specific here.

bash$ gdb -nx testsuite/gdb.cp/using-crash
(gdb) b foo
(gdb) run
(gdb) kill
(gdb) file testsuite/gdb.cp/using-crash
Load new symbol table from "/foo/testsuite/gdb.cp/using-crash"? (y or n) y
Reading symbols from /foo/testsuite/gdb.cp/using-crash...done.
Segmentation fault

Patch to follow.

-- 
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] 4+ messages in thread

* [Bug symtab/14601] segv when reading DW_TAG_imported_declaration,module
  2012-09-20 20:49 [Bug symtab/14601] New: segv when reading DW_TAG_imported_declaration,module dje at google dot com
@ 2012-09-20 20:52 ` dje at google dot com
  2012-10-03 17:05 ` cvs-commit at gcc dot gnu.org
  2012-10-03 17:07 ` dje at google dot com
  2 siblings, 0 replies; 4+ messages in thread
From: dje at google dot com @ 2012-09-20 20:52 UTC (permalink / raw)
  To: gdb-prs


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

--- Comment #1 from dje at google dot com 2012-09-20 20:52:29 UTC ---
Created attachment 6641
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6641
testcase

-- 
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] 4+ messages in thread

* [Bug symtab/14601] segv when reading DW_TAG_imported_declaration,module
  2012-09-20 20:49 [Bug symtab/14601] New: segv when reading DW_TAG_imported_declaration,module dje at google dot com
  2012-09-20 20:52 ` [Bug symtab/14601] " dje at google dot com
@ 2012-10-03 17:05 ` cvs-commit at gcc dot gnu.org
  2012-10-03 17:07 ` dje at google dot com
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2012-10-03 17:05 UTC (permalink / raw)
  To: gdb-prs


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

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2012-10-03 17:05:05 UTC ---
CVSROOT:    /cvs/src
Module name:    src
Changes by:    devans@sourceware.org    2012-10-03 17:05:00

Modified files:
    gdb            : ChangeLog buildsym.c 
    gdb/testsuite  : ChangeLog 
Added files:
    gdb/testsuite/gdb.cp: using-crash.cc using-crash.exp 

Log message:
    PR symtab/14601
    * buildsym.c (buildsym_init): Reset using_directives to NULL.

    testsuite/
    * gdb.cp/using-crash.exp: New file.
    * gdb.cp/using-crash.cc: New file.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.14726&r2=1.14727
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/buildsym.c.diff?cvsroot=src&r1=1.103&r2=1.104
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.3401&r2=1.3402
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/using-crash.cc.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/using-crash.exp.diff?cvsroot=src&r1=NONE&r2=1.1

-- 
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] 4+ messages in thread

* [Bug symtab/14601] segv when reading DW_TAG_imported_declaration,module
  2012-09-20 20:49 [Bug symtab/14601] New: segv when reading DW_TAG_imported_declaration,module dje at google dot com
  2012-09-20 20:52 ` [Bug symtab/14601] " dje at google dot com
  2012-10-03 17:05 ` cvs-commit at gcc dot gnu.org
@ 2012-10-03 17:07 ` dje at google dot com
  2 siblings, 0 replies; 4+ messages in thread
From: dje at google dot com @ 2012-10-03 17:07 UTC (permalink / raw)
  To: gdb-prs


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

dje at google dot com changed:

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

--- Comment #3 from dje at google dot com 2012-10-03 17:07:04 UTC ---
Patch checked in.

-- 
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] 4+ messages in thread

end of thread, other threads:[~2012-10-03 17:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-20 20:49 [Bug symtab/14601] New: segv when reading DW_TAG_imported_declaration,module dje at google dot com
2012-09-20 20:52 ` [Bug symtab/14601] " dje at google dot com
2012-10-03 17:05 ` cvs-commit at gcc dot gnu.org
2012-10-03 17:07 ` dje at google dot com

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