search for: dw_at_ranges

Displaying 20 results from an estimated 24 matches for "dw_at_ranges".

2019 Dec 30
3
Increasing address pool reuse/reducing .o file size in DWARFv5
tl;dr: in DWARFv5, using DW_AT_ranges even when the range is contiguous reduces linked, uncompressed debug_addr size for optimized builds by 93% and reduces total .o file size (with compression and split) by 15%. It does grow .dwo file size a bit - DWARFv5, no compression, not split shows the net effect if all bytes are equal: -O3 clan...
2017 Nov 16
3
Collecting address ranges in DWARFUnit::collectAddressRanges.
There's no requirement that DW_AT_ranges (or high/low_pc) appear on the skeleton CU rather than the DWO CU. So it's quite possible that to get the address ranges covered by the CU one would need to look in the DWO, I think? Is that not correct/have I misunderstood something there? The DWO isn't supposed to contain addresses (bec...
2020 Jan 08
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...direction. If it is an > advantage across the board we can remove the option and just make this the > default behavior. > > thanks, > adrian > > > On Dec 30, 2019, at 12:08 PM, David Blaikie <dblaikie at gmail.com> wrote: > > > > tl;dr: in DWARFv5, using DW_AT_ranges even when the range is contiguous > reduces linked, uncompressed debug_addr size for optimized builds by 93% > and reduces total .o file size (with compression and split) by 15%. It > does grow .dwo file size a bit - DWARFv5, no compression, not split shows > the net effect if all bytes...
2020 Apr 24
2
[yaml2obj] GSoC-20: Add DWARF support to yaml2obj
(Reviving this thread because a code review reminded me I want to reply here. Sorry for the extremely long turnaround). On 31/03/2020 20:22, Fangrui Song wrote: > On 2020-03-31, Adrian Prantl via llvm-dev wrote: >> >> >>> On Mar 31, 2020, at 10:55 AM, David Blaikie <dblaikie at gmail.com> wrote: >>> >>> +1 to all that & cc'ing a few of the
2020 Jan 10
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...ion and just make this the > > default behavior. > > > > thanks, > > adrian > > > > > On Dec 30, 2019, at 12:08 PM, David Blaikie <dblaikie at gmail.com <mailto:dblaikie at gmail.com>> wrote: > > > > > > tl;dr: in DWARFv5, using DW_AT_ranges even when the range is contiguous > > reduces linked, uncompressed debug_addr size for optimized builds by 93% > > and reduces total .o file size (with compression and split) by 15%. It > > does grow .dwo file size a bit - DWARFv5, no compression, not split shows > > the net...
2020 Apr 27
2
[yaml2obj] GSoC-20: Add DWARF support to yaml2obj
...I often can't get the compiler to emit what I need > to test with DWARF. For example, I needed to create a compile unit with > three functions: two of the functions need to look like they are dead > stripped (with an address of zero) and they need to come first in the > compile unit DW_AT_ranges. Also the compile unit needs to use a > DW_AT_ranges attribute for the address ranges of each of the functions and > I need to control the ordering. If I compile something like this from a > source file, the compiler users a DW_AT_low_pc and DW_AT_high_pc and I have > no DW_AT_ranges on...
2018 Jul 12
2
debug_rnglists status
...least DW_RLE_base_addressx > entries (or the CU needs to set its DW_AT_low_pc referencing the > .debug_addr section). If that's in place we can generate all the *x entry > kinds (DW_RLE_startx_endx etc.) > > - Generating the offset table and using DW_FORM_rnglistx with the > DW_AT_ranges attribute. This should cut down further on the relocations > the linker needs to perform. > > Also, I am currently working on a refactor of the .debug_rnglists dumper > (reader) part. The rationale is that the location list table in > .debug_loclists is identical in layout to the ra...
2018 Jul 12
2
debug_rnglists status
Hello Wolfgang and team, I see that you are working on support of .debug_rnglists, I am interested in the feature too, could you please point me out what else left to be done so that I could help you? -- Best Regards, Victor Leschuk | Software Engineer | Access Softek
2017 Nov 16
2
Collecting address ranges in DWARFUnit::collectAddressRanges.
David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> writes: > On Thu, Nov 16, 2017 at 11:44 AM Robinson, Paul <paul.robinson at sony.com> > wrote: > >> There's no requirement that DW_AT_ranges (or high/low_pc) appear on the >> skeleton CU rather than the DWO CU. So it's quite possible that to get the >> address ranges covered by the CU one would need to look in the DWO, I think? >> >> Is that not correct/have I misunderstood something there? >> >>...
2017 Nov 15
2
Collecting address ranges in DWARFUnit::collectAddressRanges.
?Hi ! I have a question about code used for collecting ranges. I was trying to fix PR35199. Its issue that it calls unreachable when calls DWARFObject::getFileName(). We do not implement this method in LLD and it fails. Issue appears when we start to provide .debug_str section to DWARF parser. And it is relative to following code (lines 335-339):
2020 Jan 13
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...havior. >>>> > >>>> > thanks, >>>> > adrian >>>> > >>>> > > On Dec 30, 2019, at 12:08 PM, David Blaikie <dblaikie at gmail.com> wrote: >>>> > > >>>> > > tl;dr: in DWARFv5, using DW_AT_ranges even when the range is contiguous >>>> > reduces linked, uncompressed debug_addr size for optimized builds by 93% >>>> > and reduces total .o file size (with compression and split) by 15%. It >>>> > does grow .dwo file size a bit - DWARFv5, no compressio...
2017 Sep 18
1
llvm-link: Missing Dwarf DIE references
...sultant llvm-dwarfdump -verbose -verify is run I get a bunch of the following errors: warning: could not find referenced DIE in DIE: 0x0000a33f: DW_TAG_inlined_subroutine [20] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0c84 => {0x0000a40d}) DW_AT_ranges [DW_FORM_sec_offset] (0x00021960 [0x0000000000001878 - 0x000000000000187c) [0x00000000000018b0 - 0x0000000000001910) [0x0000000000001980 - 0x00000000000019e0)) DW_AT_call_file [DW_FORM_data1] ("<mypath&...
2020 Jul 21
2
[DWARF] Handling empty ranges/location lists in ET_REL files
Hi all, I've put this email in a different thread, although it is quite similar to some of the threads on tombstoning etc, with similar underlying structural issues. Whilst prototyping my fragmented DWARF idea for GC-ing DWARF sections properly, I ran into an object in the game code I was using as my input where a v4 .debug_loc section had a location description that looked something like
2012 Oct 26
0
[LLVMdev] Debug information under windows
Can you add some tests? On 26 October 2012 10:55, Daniel Kłobuszewski <daniel.klobuszewski at ibs.org.pl> wrote: > Hello, > > Recently I found binaries produced with LLVM impossible to debug under > Windows. This was probably related to the following bug: > http://llvm.org/bugs/show_bug.cgi?id=13636 > > Asm generated from .ll files revealed that some offsets to debug
2018 Feb 09
0
Collecting address ranges in DWARFUnit::collectAddressRanges.
...pindola < rafael.espindola at gmail.com> wrote: > David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> writes: > > > On Thu, Nov 16, 2017 at 11:44 AM Robinson, Paul <paul.robinson at sony.com> > > wrote: > > > >> There's no requirement that DW_AT_ranges (or high/low_pc) appear on the > >> skeleton CU rather than the DWO CU. So it's quite possible that to get > the > >> address ranges covered by the CU one would need to look in the DWO, I > think? > >> > >> Is that not correct/have I misunderstood somet...
2017 Sep 20
0
llvm-link: Missing Dwarf DIE references
...ltant llvm-dwarfdump -verbose -verify is run I get a bunch of the following errors: warning: could not find referenced DIE     in DIE: 0x0000a33f:      DW_TAG_inlined_subroutine [20] *                     DW_AT_abstract_origin [DW_FORM_ref4]    (cu + 0x0c84 => {0x0000a40d})                     DW_AT_ranges [DW_FORM_sec_offset]    (0x00021960                       [0x0000000000001878 - 0x000000000000187c)                       [0x00000000000018b0 - 0x0000000000001910)                       [0x0000000000001980 - 0x00000000000019e0))                     DW_AT_call_file [DW_FORM_data1]    ("<mypa...
2012 Oct 26
5
[LLVMdev] Debug information under windows
Hello, Recently I found binaries produced with LLVM impossible to debug under Windows. This was probably related to the following bug: http://llvm.org/bugs/show_bug.cgi?id=13636 Asm generated from .ll files revealed that some offsets to debug information were incorrect: they were absolute instead of relative to their sections. Following patch seemed to have repaired the problem, so I'm
2020 May 31
2
Range lists, zero-length functions, linker gc
...and be indistinguishable from normal address ranges. eg: __attribute__((section(".text.x"))) void f1() { } __attribute__((section(".text.x"))) void f2() { } int main() { } $ clang++ rng.cpp -fuse-ld=lld -Wl,-gc-sections -g && llvm-dwarfdump a.out DW_TAG_compile_unit DW_AT_ranges (0x00000000 [0x0000000000000000, 0x0000000000000016) [0x0000000000400540, 0x0000000000400548)) ... DW_TAG_subprogram DW_AT_low_pc (0x0000000000000000) DW_AT_high_pc (0x0000000000000006) DW_AT_name ("f1") ... DW_TAG_subprogram DW_AT_low_pc (0x0...
2020 Jun 03
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
...types-section) I could see it - but for functions, they need to refer to addresses - preferably in the debug_addr section, and that's accessed by index, so taking chunks out of it would break other references to it, etc... adding the header would be expensive, and how would the CU construct its DW_AT_ranges value if that has to be sliced and diced? Again, some amount of linker magic might solve some of these problems - but I think there's still a lot of overhead to making a solution that's workable with a DWARF-agnostic linker (or even with a DWARF aware one, but in an efficient amount of time...
2020 May 31
3
Range lists, zero-length functions, linker gc
...> > >__attribute__((section(".text.x"))) void f1() { } > >__attribute__((section(".text.x"))) void f2() { } > >int main() { } > >$ clang++ rng.cpp -fuse-ld=lld -Wl,-gc-sections -g && llvm-dwarfdump a.out > >DW_TAG_compile_unit > > DW_AT_ranges (0x00000000 > > [0x0000000000000000, 0x0000000000000016) > > [0x0000000000400540, 0x0000000000400548)) > >... > > DW_TAG_subprogram > > DW_AT_low_pc (0x0000000000000000) > > DW_AT_high_pc (0x0000000000000006) > > DW_AT_name (&...