Bug 1069382 - gnat weird DWARF (but not in FSF GCC build)
Summary: gnat weird DWARF (but not in FSF GCC build)
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 20
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1069211
TreeView+ depends on / blocked
 
Reported: 2014-02-24 21:32 UTC by Jan Kratochvil
Modified: 2014-02-25 21:36 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-25 20:28:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNU Compiler Collection 60339 0 None None None Never

Description Jan Kratochvil 2014-02-24 21:32:25 UTC
Description of problem:
FSF GDB HEAD internal errors on reading /usr/lib/debug/usr/bin/gnatbind.debug .
But I cannot reproduce such weird DWARF with upstream FSF GCC build.

It is more just FYI, gnat is not important in Fedora + GDB will be changed to just make a 'complaint' as GDB must not crash on invalid DWARF file.

Version-Release number of selected component (if applicable):
GNU gdb (GDB) 7.7.50.20140224-cvs
FAIL: gcc-gnat-4.8.2-7.fc20.x86_64
FAIL: gcc-gnat-4.8.2-14.fc21.x86_64

How reproducible:
Always

Steps to Reproduce:
git clone git://sourceware.org/git/binutils-gdb.git; cd binutils-gdb
./configure; make
./gdb/gdb -readnow /usr/bin/gnatbind
(Fedora GDB does not have this sanity check yet.)

Actual results:
Reading symbols from /usr/bin/gnatbind...Reading symbols from /usr/lib/debug/usr/bin/gnatbind.debug...expanding to full symbols...dwarf2read.c:8032: internal-error: process_die: Assertion `!die->in_process' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) _

Expected results:
No error.

Additional info:
gcc-debuginfo-4.8.2-7.fc20.x86_64
readelf -wi /usr/lib/debug/usr/bin/gnatbind.debug

concreate instance tree (Out-of-Line Instance):
 <1><47562>: Abbrev Number: 62 (DW_TAG_subprogram)
    <47563>   DW_AT_abstract_origin: <0x46678>
    <47567>   DW_AT_low_pc      : 0x4517e0
    <4756f>   DW_AT_high_pc     : 0x261

abstract instance tree:
 <1><46678>: Abbrev Number: 48 (DW_TAG_subprogram)
    <46679>   DW_AT_name        : atree__copy_separate_tree
    <46684>   DW_AT_inline      : 1     (inlined)
 <2><46689>: Abbrev Number: 112 (DW_TAG_subprogram)
    <4668a>   DW_AT_name        : atree__copy_separate_tree__copy_entity
    <46695>   DW_AT_low_pc      : 0x450ca0
    <4669d>   DW_AT_high_pc     : 0x3c9
 - why are specific PCs in _abstract_ instance tree?
 - BTW the tree has 301 DIEs

Comment 1 Jan Kratochvil 2014-02-25 20:28:47 UTC
Reproduced with FSF GCC, I will file it upstream soon.


Note You need to log in before you can comment on or make changes to this bug.