search for: dwarfv4

Displaying 20 results from an estimated 36 matches for "dwarfv4".

Did you mean: dwarfv5
2020 Jan 02
2
Query/Suggestions on upgrading macro infrastructure.
..., resulting in a false dependence of CLANG/LLVM on entire generation phase of debug info for macros, even when they don't have to. - To worsen the problem even more, we have some DWARF forms sharing same encoding. Currently, we have 4-forms that share same encoding with previous DWARFv4. High Level Summary of Solution ======================== To deal with this and to facilitate addition of new future DWARF forms and other stuff, I propose following changes to be done: ยท Segregate CLANG entirely from macro debug info part. This has been done by introducing a new Generic Ma...
2020 May 22
2
RFC: Add DWARF support for yaml2obj
I think we have to be careful here. We might want flexibility to say "I want to use a specific class" without having to specify the exact DW_FORM. Sometimes, we might even end up in an ambiguous situation and not get the result we want. For example, in DWARFv4, the DW_AT_high_pc attribute has either a Constant or an Address class, which use completely different forms, but if we have just "Value: 0x1234", which is it? In DWARFv3, it is always an Address, if I remember correctly, so in that case, we might want our default to be "Address&quot...
2020 Nov 11
3
[LLD] Support DWARF64, debug_info "sorting"
...rse DWARF, even a >> little bit of it (only the first 4 bytes of a section to tell which >> version it is - first 12 if you want to be able to jump over >> contributions and check /all/ contributions coming from a given input >> object file (it might contain a combination of DWARFv4 and DWARFv5) >> and then the hairy uncertainty of which sections to check (do you >> check them all? well, all the ones with length prefixes that >> communicate DWARF32/64 - some sections don't >> (debug_ranges/loc/str/macro for instance, if I recall correctly)... >&g...
2020 Nov 11
2
[LLD] Support DWARF64, debug_info "sorting"
...awback in sorting, is the need to parse DWARF, even a little bit of it (only the first 4 bytes of a section to tell which version it is - first 12 if you want to be able to jump over contributions and check /all/ contributions coming from a given input object file (it might contain a combination of DWARFv4 and DWARFv5) and then the hairy uncertainty of which sections to check (do you check them all? well, all the ones with length prefixes that communicate DWARF32/64 - some sections don't (debug_ranges/loc/str/macro for instance, if I recall correctly)... and if something has some 4 and 5, does it...
2020 Nov 11
0
[LLD] Support DWARF64, debug_info "sorting"
...t; >> little bit of it (only the first 4 bytes of a section to tell which > >> version it is - first 12 if you want to be able to jump over > >> contributions and check /all/ contributions coming from a given input > >> object file (it might contain a combination of DWARFv4 and DWARFv5) > >> and then the hairy uncertainty of which sections to check (do you > >> check them all? well, all the ones with length prefixes that > >> communicate DWARF32/64 - some sections don't > >> (debug_ranges/loc/str/macro for instance, if I recall...
2020 Nov 11
3
[LLD] Support DWARF64, debug_info "sorting"
...little bit of it (only the first 4 bytes of a section to tell which >> >> version it is - first 12 if you want to be able to jump over >> >> contributions and check /all/ contributions coming from a given input >> >> object file (it might contain a combination of DWARFv4 and DWARFv5) >> >> and then the hairy uncertainty of which sections to check (do you >> >> check them all? well, all the ones with length prefixes that >> >> communicate DWARF32/64 - some sections don't >> >> (debug_ranges/loc/str/macro for instan...
2019 Dec 30
3
Increasing address pool reuse/reducing .o file size in DWARFv5
...RFv5 does a pretty good job of reducing relocations (& reducing .o file size with Split DWARF) by allowing many uses of addresses to include some kind of address+offset (debug_rnglists and loclists allowing "base_address" then offset_pairs (an improvement over similar functionality in DWARFv4 because the offset pairs can be uleb encoded - so they can be quite compact)) But one place that DWARFv5 misses to reduce relocations further is direct addresses from debug_info, such as DW_AT_low_pc. For a while I've wondered if we could use an extension form for addr+offset, and I prototype...
2020 Nov 11
1
[LLD] Support DWARF64, debug_info "sorting"
...s the need to parse DWARF, even a little bit > of it (only the first 4 bytes of a section to tell which version it is - first 12 if you > want to be able to jump over contributions and check /all/ contributions > coming from a given input object file (it might contain a combination of > DWARFv4 and DWARFv5) and then the hairy uncertainty of which sections to > check (do you check them all? well, all the ones with length prefixes that > communicate DWARF32/64 - some sections don't > (debug_ranges/loc/str/macro for instance, if I recall correctly)... > and if something has s...
2020 Jan 13
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...ses down to, ideally, one address per section/indivisible chunk of machine code (per subsection in MachO, for instance) (whereas currently there are many addresses per section) > >> How do you figure the offset out? > > Label difference - same as is done for DW_AT_high_pc today in DWARFv4 and DWARFv5 in LLVM. high_pc currently uses the low_pc addresse to be relative to, in this proposed situation, we'd use a symbol that's in the first bit of debug info in the section (or subsection in MachO). So the low_pc of the subprogram/function, for instance, or if there are two functio...
2020 Jan 10
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...reducing relocations (& reducing .o file size with Split > > DWARF) by allowing many uses of addresses to include some kind of > > address+offset (debug_rnglists and loclists allowing "base_address" then > > offset_pairs (an improvement over similar functionality in DWARFv4 because > > the offset pairs can be uleb encoded - so they can be quite compact)) > > > > > > But one place that DWARFv5 misses to reduce relocations further is > > direct addresses from debug_info, such as DW_AT_low_pc. > > > > > > For a while I'...
2020 Nov 12
0
[LLD] Support DWARF64, debug_info "sorting"
...little bit of it (only the first 4 bytes of a section to tell which >> >> version it is - first 12 if you want to be able to jump over >> >> contributions and check /all/ contributions coming from a given input >> >> object file (it might contain a combination of DWARFv4 and DWARFv5) >> >> and then the hairy uncertainty of which sections to check (do you >> >> check them all? well, all the ones with length prefixes that >> >> communicate DWARF32/64 - some sections don't >> >> (debug_ranges/loc/str/macro for instan...
2020 May 22
2
RFC: Add DWARF support for yaml2obj
Hi Pavel, Thanks for your comments! On 5/21/20, Pavel Labath <pavel at labath.sk> wrote: > Hello Xing, > > I think the proposal looks very useful. I think it will be fairly tricky > to get all of the details right though. There is a lot of "inferring" > going on there, and getting that to work reliably and with predictable > results will need careful
2020 Nov 11
0
[LLD] Support DWARF64, debug_info "sorting"
...s the need to parse DWARF, even a > little bit of it (only the first 4 bytes of a section to tell which > version it is - first 12 if you want to be able to jump over > contributions and check /all/ contributions coming from a given input > object file (it might contain a combination of DWARFv4 and DWARFv5) > and then the hairy uncertainty of which sections to check (do you > check them all? well, all the ones with length prefixes that > communicate DWARF32/64 - some sections don't > (debug_ranges/loc/str/macro for instance, if I recall correctly)... > and if something...
2020 Jan 08
2
Increasing address pool reuse/reducing .o file size in DWARFv5
...gt; good job of reducing relocations (& reducing .o file size with Split > DWARF) by allowing many uses of addresses to include some kind of > address+offset (debug_rnglists and loclists allowing "base_address" then > offset_pairs (an improvement over similar functionality in DWARFv4 because > the offset pairs can be uleb encoded - so they can be quite compact)) > > > > But one place that DWARFv5 misses to reduce relocations further is > direct addresses from debug_info, such as DW_AT_low_pc. > > > > For a while I've wondered if we could use an...
2020 Jul 17
3
Switch to ld.bfd tombstone behavior by default
...tions combined with a .text mapping that starts in relative low addresses - premature debug_range termination with zero-length functions (Clang produces these with __builtin_unreachable or non-void return type functions without a return statement) New behavior: - -2 for DWARFv4 debug_loc, debug_ranges (-1 is a base address specifier there) - -1 elsewhere - linker flag to customize to other values if desired Known issues: - lldb's line table parsing can't handle -1 well at all (essentially unusable) - gdb's line table parsing ends up with di...
2013 Feb 06
0
[LLVMdev] [llvm] r174463 - Initial support for DWARF CFI parsing and dumping in LLVM
...n DWARF in general. It's only specified for CUs, but >> + // .eh_frame can appear without a .debug_info section. Follow the example of >> + // other tools (libdwarf) and extract this from the container (ObjectFile >> + // provides this information). This problem is fixed in DWARFv4 >> + // See this dwarf-discuss discussion for more details: >> + // http://lists.dwarfstd.org/htdig.cgi/dwarf-discuss-dwarfstd.org/2011-December/001173.html >> + DataExtractor debugFrameData(getDebugFrameSection(), isLittleEndian(), >> + getA...
2020 Nov 11
2
[LLD] Support DWARF64, debug_info "sorting"
This year Igor Kudrin put in a lot of work in enabling DWARF64 support in LLVM. At Facebook we are looking into it as one of the options for handling debug information over 4gigs in production environment. One concern is that due to mix of third party libraries and llvm compiled code the final library/binary will have a mix of CU that are DWARF32/64. This is supported by DWARF format. With this
2020 Jul 17
2
Switch to ld.bfd tombstone behavior by default
...; > - premature debug_range termination with zero-length functions (Clang >> > produces these with __builtin_unreachable or non-void return >> >type functions >> > without a return statement) >> > >> >New behavior: >> > >> > - -2 for DWARFv4 debug_loc, debug_ranges (-1 is a base address specifier >> > there) >> > - -1 elsewhere >> > - linker flag to customize to other values if desired >> > >> >Known issues: >> > >> > - lldb's line table parsing can't handle -1 well...
2020 Jul 20
2
Switch to ld.bfd tombstone behavior by default
...ctions (Clang >> >> > produces these with __builtin_unreachable or non-void return >> >> >type functions >> >> > without a return statement) >> >> > >> >> >New behavior: >> >> > >> >> > - -2 for DWARFv4 debug_loc, debug_ranges (-1 is a base address specifier >> >> > there) >> >> > - -1 elsewhere >> >> > - linker flag to customize to other values if desired >> >> > >> >> >Known issues: >> >> > >> >&gt...
2020 Jul 24
2
Switch to ld.bfd tombstone behavior by default
...t; >> >> >type functions > > >> >> >> > without a return statement) > > >> >> >> > > > >> >> >> >New behavior: > > >> >> >> > > > >> >> >> > - -2 for DWARFv4 debug_loc, debug_ranges (-1 is a base > address specifier > > >> >> >> > there) > > >> >> >> > - -1 elsewhere > > >> >> >> > - linker flag to customize to other values if desired > > >> >> >>...