Displaying 20 results from an estimated 3000 matches similar to: "Implementing a DWP tool in LLVM"
2015 Nov 04
2
Implementing a DWP tool in LLVM
On Tue, Nov 3, 2015 at 5:06 PM, Alexey Samsonov <vonosmas at gmail.com> wrote:
> SGTM. This will bring us closer to the point when we can write tests,
> where we strip out the .dwo files from executables, package them together
> with llvm-dwp, and then verify that we still get all we need from
> llvm-symbolizer.
>
Not quite following here - dwo sections are already stripped
2017 May 03
3
DWARF Fission + ThinLTO
On Wed, May 3, 2017 at 2:09 PM Adrian Prantl <aprantl at apple.com> wrote:
>
> > On May 3, 2017, at 2:00 PM, David Blaikie <dblaikie at gmail.com> wrote:
> >
> > So Dehao and I have been dealing with some of the nitty gritty details
> of debug info with ThinLTO, specifically with Fission(Split DWARF).
> >
> > This applies to LTO as well, so I
2017 May 04
2
DWARF Fission + ThinLTO
> On May 3, 2017, at 7:43 PM, Adrian Prantl via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>>
>> On May 3, 2017, at 2:59 PM, David Blaikie <dblaikie at gmail.com <mailto:dblaikie at gmail.com>> wrote:
>>
>>
>>
>> On Wed, May 3, 2017 at 2:09 PM Adrian Prantl <aprantl at apple.com <mailto:aprantl at apple.com>> wrote:
2017 May 04
3
DWARF Fission + ThinLTO
Sorry, trying to catch up a bit late…
It sounds like having more than one CU per .dwo is outside of the intention of the DWARF specification (though not explicitly forbidden), since there is an implied 1-1 relationship between skeleton CU and .dwo.
There is an explicit 1-1 relationship between skeleton CU and split-full CU (not .dwo). This suggests to me that if you want a .dwo to have multiple
2017 May 03
4
DWARF Fission + ThinLTO
So Dehao and I have been dealing with some of the nitty gritty details of
debug info with ThinLTO, specifically with Fission(Split DWARF).
This applies to LTO as well, so I won't single out ThinLTO here.
1) Multiple CUs in a .dwo file
Clang/LLVM produces a CU for each original source file - these CUs are kept
through IR linking (thin or full) and produced as distinct CUs in the
resulting
2017 Dec 06
4
[RFC] - Deduplication of debug information in linkers (LLD).
>If you're interested in things you can do in the linker for this - you might consider something more aggressive: Fully DWARF aware deduplication.
>
>This could be done hopefully by reusing some of the code in the dsymutil implementation in LLVM.
>
>This would be much more effective (and without the possible context-sensitive tradeoffs) than using type units.
>Though
2017 Dec 07
4
[RFC] - Deduplication of debug information in linkers (LLD).
>*nod* That's been the historic ELF+DWARF approach, but both MacOS (with dsyms+DWARF) and Windows
>(COFF+CodeView+PDB) don't do it that way, and instead involve the linker to a degree.
>Mostly I'm wondering if it'd be reasonable to (and if anyone would be interested in doing it) do
>something more like the PDB support - fully debug-aware linking.
Honestly saying I only
2020 Aug 31
6
[Proposal][Debuginfo] dsymutil-like tool for ELF.
Hi James,
Thank you for the comments.
>I think we're not terribly far from that ideal, now, for ELF. Maybe
only these three things need to be done? --
> 1. Teach lld how to emit a separated debuginfo output file directly,
without requiring an objcopy step.
> 2. Integrate DWARFLinker into lld.
> 3. Create a new tool which takes the separated debuginfo and DWO/DWP
files
2020 Jun 25
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
>On Mon, Jun 22, 2020 at 7:21 AM Alexey Lapshin
><alapshin at accesssoftek.com> wrote:
>>
>> >>
>> >> >> This idea goes in another direction than fragmenting dwarf
>> >> >> using elf sections&tricks. It seems to me that the cost of fragmenting is too high.
>> >>
>> >> >I tend to agree - but I'm
2020 Jun 26
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
>> >> >> >> This idea goes in another direction than fragmenting dwarf
>> >> >> >> using elf sections&tricks. It seems to me that the cost of fragmenting is too high.
>> >> >>
>> >> >> >I tend to agree - but I'm sort of leaning towards trying to use object
>> >> >> >features as much
2020 Jul 28
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
On 28.07.2020 10:29, David Blaikie via llvm-dev wrote:
> On Fri, Jun 26, 2020 at 9:28 AM Alexey Lapshin
> <alapshin at accesssoftek.com> wrote:
>>
>>>>>>>>>> This idea goes in another direction than fragmenting dwarf
>>>>>>>>>> using elf sections&tricks. It seems to me that the cost of fragmenting is too high.
2020 Jul 31
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
On 28.07.2020 19:28, David Blaikie wrote:
> On Tue, Jul 28, 2020 at 8:55 AM Alexey Lapshin <avl.lapshin at gmail.com> wrote:
>>
>> On 28.07.2020 10:29, David Blaikie via llvm-dev wrote:
>>> On Fri, Jun 26, 2020 at 9:28 AM Alexey Lapshin
>>> <alapshin at accesssoftek.com> wrote:
>>>>>>>>>>>> This idea goes in another
2020 Aug 03
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
Hi Eric, please
On 31.07.2020 22:02, Eric Christopher wrote:
> Hi Alexey,
>
> On Fri, Jul 31, 2020 at 4:02 AM Alexey Lapshin via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
>
> On 28.07.2020 19:28, David Blaikie wrote:
> > On Tue, Jul 28, 2020 at 8:55 AM Alexey Lapshin
> <avl.lapshin at gmail.com
2017 Jul 05
2
[DWARFv5] Reading the .debug_str_offsets section
There was some discussion about this in D34765, and I had a follow-up
chat with Wolfgang separately, plus spent a fair amount of time in
reading and thinking today. I thought I would write my understanding
all down here so we can reach a common understanding of how it ought
to work, and therefore what our code should do.
For any non-DWARF-experts who might be interested, in principle this
2020 Jun 22
4
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
>> >> >Alexey> Probably we could try to make DWARF easy to parsing, trimming, rewriting so that full DWARF
>> >> >Alexey> parsing solution would not take too much time?
>> >> >Alexey>
>> >> >Alexey> f.e. -debug-types-section solution uses COMDAT sections to split and deduplicate types.
>> >> >Alexey> That
2020 Aug 06
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
Hi Alexey,
I should've looked at this earlier. I went through the thread again and I've
made some comments, mostly from the dsymutil point of view.
> Current DWARFEmitter/DWARFStreamer has an implementation for DWARF
> generation, which does not support DWARF5(only debug_names table). At the
> same time, there already exists code in CodeGen/AsmPrinter/DwarfDebug.h,
> which
2016 Feb 29
5
Possible Memory Savings for tools emitting large amounts of existing data through MC
Just in case it interests anyone else, I'm playing around with trying to
broaden the MCStreamer API to allow for emission of bytes without copying
the contents into a local buffer first (either because you already have a
buffer, or the bytes are already present in another file, etc) in
http://reviews.llvm.org/D17694 . In theory there's some overlap with lld
here (no doubt it already does
2017 Jul 06
2
[DWARFv5] Reading the .debug_str_offsets section
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Pieb,
> Wolfgang via llvm-dev
> Sent: Wednesday, July 05, 2017 6:14 PM
> To: llvm-dev at lists.llvm.org
> Subject: Re: [llvm-dev] [DWARFv5] Reading the .debug_str_offsets section
>
> > -----Original Message-----
> > From: llvm-dev [mailto:llvm-dev-bounces at
2016 Feb 29
0
Possible Memory Savings for tools emitting large amounts of existing data through MC
Hi David,
The way I imagined that we might want to extend the MCStreamer API (this
was motivated by DIEData) is by allowing clients to move bytes and fixups
into the MC layer.
This is the sort of API that I was imagining:
void MoveAndEmitFragment(SmallVectorImpl<char> &&Data,
SmallVectorImpl<MCFixup> &&Fixups);
Note that this mirrors the
2020 Jun 03
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
On Wed, Jun 3, 2020 at 6:34 AM Robinson, Paul <paul.robinson at sony.com> wrote:
>
> DWARF was designed in an era when COMDAT and ICF were not a thing, or at least not common, certainly not when talking about function code. The overhead of a unit occurred only once per translation unit, so that expense was reasonably amortized.
>
>
>
> Splitting functions into their own