> On 27 Jul 2020, at 17:39, Konstantin Belousov <kostik...@gmail.com> wrote:
> 
> On Mon, Jul 27, 2020 at 10:37:53AM -0400, Mark Johnston wrote:
>> On Mon, Jul 27, 2020 at 11:27:40AM +0200, Paul FLOYD wrote:
>>> Hi
>>>  
>>> I'm investigating some of the remaining issues with Valgrind on FreeBSD. 
>>> One of the two remaining major issues that I'm aware of is with Valgrind 
>>> reading dwarf  debuginfo from clang compiled binaries. The problem isn't 
>>> too bad with clang 8 on FreeBSD 12.1. On 13-CURRENT with clang 10 things 
>>> are noticeably worse. For GCC built binaries I'm not aware of any issues.
>>>  
>>> I'm not familiar (yet) with the debuginfo code in Valgrind.
>>>  
>>> To get me going, does anyone have any pointers to
>>> - documentation on clang debuginfo
> Clang generates DWARF which is documented by the DWARF standard(s),
> available at http://dwarfstd.org/


The site seems to be down ATM.

From what I’ve read, DWARF is somewhat flexible and allows for vendor 
extensions. For instance I’ve already seen DW_AT_GNU_all_call_sites and 
DW_GNU_all_tail_call_sites.

> 
>>> - any info on differences wrt GCC (I have seen that GCC does have some 
>>> debuginfo extensions)
> Gcc also generates DWARF.  It is up to the compiler to interpret the standard
> and provide compliant metadata according to it.
> 
> But I would expect that the practical difference or troubles in parsing
> the compiler' output is due to different versions of the used standard.
> Both gcc and clang allow to specify which level of standard should be
> used, see the description of the -gdwarf-<version> switch.
> 
> Different versions of the same compiler might default to different 
> version of DWARF as well.
> 

No, I don’t think that is the problem. Valgrind can read DWARF up to version 4 
(not 5). If it encounters a version it does not know about it says so directly

==1602== Command: ./leak_dwarf5
==1602== 
--1602-- WARNING: Serious error when reading debug info
--1602-- When reading debug info from 
/usr/home/paulf/scratch/vg_examples/leak_dwarf5:
--1602-- Ignoring non-Dwarf2/3/4 block in .debug_info
--1602-- WARNING: Serious error when reading debug info
--1602-- When reading debug info from 
/usr/home/paulf/scratch/vg_examples/leak_dwarf5:
--1602-- parse_CU_Header: is neither DWARF2 nor DWARF3 nor DWARF4
==1602== 

So I suspect that this is a question of dialect rather than version.

A+
Paul

_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to