Page MenuHomePhabricator

SouraVX (Sourabh Singh Tomar)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 27 2019, 11:05 PM (21 w, 2 d)

Recent Activity

Today

SouraVX committed rGc83602fdf51b: Recommit "[DWARF5][clang]: Added support for DebugInfo generation for auto… (authored by awpandey).
Recommit "[DWARF5][clang]: Added support for DebugInfo generation for auto…
Fri, Jan 24, 1:24 AM

Yesterday

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Gentle, friendly Ping! to all reviewers!
Child Revision - D73086

Thu, Jan 23, 12:39 AM · Restricted Project, debug-info

Wed, Jan 22

SouraVX added inline comments to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Wed, Jan 22, 4:16 AM · Restricted Project, debug-info

Tue, Jan 21

SouraVX updated the diff for D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Quick Rebase.

Tue, Jan 21, 8:07 PM · Restricted Project, debug-info
SouraVX retitled D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump. from [DWARF5] Added support for emission of debug_macro section. to [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Tue, Jan 21, 2:29 AM · Restricted Project, debug-info
SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Corresponding llvm-dwarfdump revision D73086

Tue, Jan 21, 2:02 AM · Restricted Project, debug-info
SouraVX created D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Tue, Jan 21, 2:02 AM · Restricted Project, debug-info

Mon, Jan 20

SouraVX committed rG84c4c87e04a4: Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto… (authored by awpandey).
Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto…
Mon, Jan 20, 1:48 AM

Fri, Jan 17

SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Fri, Jan 17, 3:02 AM · Restricted Project, debug-info
SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Fri, Jan 17, 2:52 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Thanks @probinson for sharing thoughts.
Refactored code based on @dblaikie review
Addressed and implemented @probinson concerns

Fri, Jan 17, 2:43 AM · Restricted Project, debug-info

Thu, Jan 16

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Please implement the dwarfdump support first (this patch can be reviewed during that time - but shouldn't be committed without tests & ideally those tests should be written using dwarfdump (sometimes there are exceptions for especially complicated dumping situations, where raw assembly testing is used instead, but I don't think it's necessary to make that tradeoff here))

I'm trying to get that patch ready. As for this, this patch doesn't have dependency on dwarfdump except that testing the section contents part. I've verified integrity of section content using objdump and lldb/gdb. My rationale behind this was this patch can get in, till we discuss and agree on dwarfdump extension to accommodate macro support.

Thu, Jan 16, 11:39 AM · Restricted Project, debug-info
SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Thu, Jan 16, 9:53 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Thank you @aprantl , for reviewing this.
Addressed minor review comment by @aprantl

Thu, Jan 16, 9:44 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Rebase

Thu, Jan 16, 3:33 AM · Restricted Project, debug-info
SouraVX updated the summary of D72828: [DWARF5] Added support for emission of debug_macro section..
Thu, Jan 16, 2:57 AM · Restricted Project, debug-info
SouraVX created D72828: [DWARF5] Added support for emission of debug_macro section..
Thu, Jan 16, 2:55 AM · Restricted Project, debug-info

Tue, Jan 14

SouraVX added a comment to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..

I have a high-level question/comment. Are you planning to implement debug_macro reading in llvm-dwarfdump? Even if you aren't, I am expecting that you will be asked to do that as a part of testing for your debug_macro generation patch...

Hi Pavel, I've mostly completed debug_macro generation[clang/llvm] and dumping it using llvm-dwarfdump. I'll soon file a review for that also. Maybe we can address this concern while reviewing that. Till that, I think it would be nice to have minimum support for macros.

Tue, Jan 14, 3:42 AM · Unknown Object (Project)
SouraVX added inline comments to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Tue, Jan 14, 3:33 AM · Unknown Object (Project)
SouraVX updated the diff for D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..

Thank you everyone, for taking out time and reviewing this.
Addressed @clayborg review comments.

Tue, Jan 14, 3:25 AM · Unknown Object (Project)

Mon, Jan 13

SouraVX added inline comments to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Mon, Jan 13, 3:57 AM · Unknown Object (Project)
SouraVX updated subscribers of D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Mon, Jan 13, 3:57 AM · Unknown Object (Project)
SouraVX created D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Mon, Jan 13, 3:48 AM · Unknown Object (Project)
SouraVX added a comment to D70524: Support DebugInfo generation for auto return type for C++ functions..

Thanks @sammccall , for the test case. Seems like, this implementation doesn't address the lambda functions returning "auto". We're looking into this.

Mon, Jan 13, 3:19 AM · debug-info, Restricted Project, Restricted Project

Sun, Jan 12

SouraVX committed rG6d6a4590c5d4: [DWARF5][clang]: Added support for DebugInfo generation for auto return type… (authored by awpandey).
[DWARF5][clang]: Added support for DebugInfo generation for auto return type…
Sun, Jan 12, 11:21 PM
SouraVX committed rGc958639098a8: [DWARF5][DebugInfo]: Added support for DebugInfo generation for auto return… (authored by awpandey).
[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto return…
Sun, Jan 12, 11:11 PM
SouraVX closed D70524: Support DebugInfo generation for auto return type for C++ functions..
Sun, Jan 12, 11:11 PM · debug-info, Restricted Project, Restricted Project

Wed, Dec 25

SouraVX added inline comments to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.
Wed, Dec 25, 11:38 PM · Restricted Project, Restricted Project, debug-info

Dec 23 2019

SouraVX committed rG0a72515d33bb: [DebugInfo] Fix v4 macinfo for dwo files. (authored by SouraVX).
[DebugInfo] Fix v4 macinfo for dwo files.
Dec 23 2019, 11:22 PM

Dec 17 2019

SouraVX closed D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..
Dec 17 2019, 11:03 PM · Restricted Project, debug-info
SouraVX committed rG399273e5ebac: Recommit "[DebugInfo] Refactored macro related generation, added a test case… (authored by SouraVX).
Recommit "[DebugInfo] Refactored macro related generation, added a test case…
Dec 17 2019, 12:48 PM
SouraVX added a comment to D70524: Support DebugInfo generation for auto return type for C++ functions..

It looks like this implementation is a bit buggy in one way and incomplete in another:

  1. even if the auto-returning function is defined, that function definition doesn't describe the concrete return type. Compare GCC and Clang's output for your example and note that... oh.

I think that's correct behavior, consider this for a moment --

struct foo {
auto foo_func();
};
int foo::foo_func(){return 0;}
clang error: ->
error: return type of out-of-line definition of 'foo::foo_func' differs from that in the declaration

So this seems fair to me, regardless of the concrete return type{assuming this is what this patch is doing}. We should be emitting auto in declaration. AKA in unspecified_type. GCC(trunk) also seems fair here.

Hmm, maybe this feature/suggestion is broken or at least not exactly awesome when it comes to auto-returning functions that are eventually void-returning functions? Now the function definition has no DW_AT_type to override the unspecified_type in the declaration... :/ that's unfortunate (@probinson - thoughts?)

I'm a bit confused here, regardless of the concrete return type{void/int/float} GCC(trunk) is emitting
DW_TAG_unspecified_type
DW_AT_name "auto"
Are you trying to say we should be emitting DW_AT_type void/int/float ?? That's what functionality of clang is right now, and if we entertain that, then their is no point of emitting DW_TAG_unspecifed_type auto at first place.

Dec 17 2019, 3:10 AM · debug-info, Restricted Project, Restricted Project

Dec 11 2019

SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

This breaks tests on Windows: http://45.33.8.238/win/3783/step_11.txt

Please take a look, and if it takes a while to investigate, please revert for now.

Dec 11 2019, 12:52 AM · Restricted Project, debug-info

Dec 10 2019

SouraVX committed rG307f60a1a3ff: [DebugInfo] Refactored macro related generation, added a test case for macinfo. (authored by SouraVX).
[DebugInfo] Refactored macro related generation, added a test case for macinfo.
Dec 10 2019, 12:56 PM
SouraVX closed D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 10 2019, 12:56 PM · Restricted Project, debug-info
SouraVX committed rGfb4d8fe1a862: Recommit "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified." (authored by SouraVX).
Recommit "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified."
Dec 10 2019, 12:01 PM
SouraVX closed D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..
Dec 10 2019, 12:01 PM · Restricted Project, Restricted Project, debug-info
SouraVX added inline comments to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 10 2019, 12:01 PM · Restricted Project, debug-info
SouraVX committed rGd82b6ba21b32: Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified." (authored by SouraVX).
Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified."
Dec 10 2019, 11:51 AM
SouraVX added a reverting change for rG6ef01588f4d7: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.: rGd82b6ba21b32: Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.".
Dec 10 2019, 11:51 AM
SouraVX committed rG6ef01588f4d7: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified. (authored by SouraVX).
[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.
Dec 10 2019, 11:51 AM
SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

Gentle Ping! @dblaikie

Dec 10 2019, 8:34 AM · Restricted Project, debug-info

Dec 9 2019

SouraVX updated the diff for D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..

Thank you Paul, for reviewing this. I've addressed your comments in this revision.

Dec 9 2019, 10:43 AM · Restricted Project, Restricted Project, debug-info
SouraVX added a reviewer for D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.: probinson.
Dec 9 2019, 10:15 AM · Restricted Project, Restricted Project, debug-info
SouraVX created D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..
Dec 9 2019, 12:59 AM · Restricted Project, Restricted Project, debug-info

Dec 5 2019

SouraVX added inline comments to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 5 2019, 11:38 PM · Restricted Project, debug-info
SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

Sorry, I'm a bit confused - this sort of thing should be included in the original review.

Ah, that was showing accepted. Even you reopened it[I noticed]. So that's why I created a new one. I think, I mentioned my intentions in previous revision also ??

Ah, I saw it had been accepted, but didn't realize it had already been /committed/. Makes sense - sorry for the confusion.

But I think this whole direction (supporting macinfo.dwo) should not be done, since macinfo is not in DWARFv5 - so to reach DWARFv5 support, you/we/someone should first fix the existing bug (which is that debug_macro should be emitted in DWARFv5, but currently LLVM produces debug_macinfo instead). and then that correct support can be expanded to support Split DWARFv5.

I'm working on DWARFv5 debug_macro also, holding up till this also gets it.
But Main motivation behind this are -- {Some mentioned in previous revision}

  • One of the major factor is GDB and how it handles stuff, if you try using clang 9.0 or any older version. behavior of macro is like this -g -gsplit-dwarf -fdebug-macro{-g defaulting to DWARF version 4}. debug_macinfo got populated{even when split-dwarf is specified}. Now load that binary in GDB, try expanding macros, it fails. that renders all the heavy lifting compiler did to produce debug_macinfo section is finally useless. Please note here that this behavior is contrary to GCC, GCC produces debug_macinfo.dwo when -gsplit-dwarf is specified. GDB also seems to be happy, macro expansion works fine. Seems like for split-dwarf mode, GDB looks for macinfo.dwo in DWO file. Just a side note GCC-9.2, I think trunk also, only generate macinfo/macinfo.dwo only when -gstrict-dwarf is also specified along with the usual ones, otherwise GCC by defaults generates macro/macro.dwo.
  • For a C++ project, the macro information, can be huge. moving this to separate file{DWO} can be a huge win. I think saves a bit of linking time also ?
  • Nevertheless, considering the present situation{assuming you/someone else don't want macinfo.dwo possibly revert it}. For binaries compiled with -g -gsplit-dwarf compiler will still produce debug_macinfo, that GDB cannot use. I think, these seems points reasonable enough. I also want to here your opinion/motivation as to why should not be doing this.

Ah, you're looking to fix the existing DWARFv4 support, then? It might be better if the test case were for DWARFv4, rather than DWARFv5, then? Then it's less a case of "adding buggy functionality/replacing one bug with another" (debug_macinfo.dwo in DWARFv5 being buggy/invalid) and more a case of "fixing a bug" (debug_macinfo.dwo in DWARFv4 non-standard fission extension/pre-standard implementation)

Sure, will be changing dwarf version in test case before committing, the approach I'm following for preparing patches is that. If it's not DWARFv5 related, I mark that one as [DebugInfo]. and [DWARF5] [DebugInfo] for the one related to DWARFv5.

https://gcc.gnu.org/wiki/DebugFission (the proposal/design document for Split DWARF) does specify the behavior of macros under Split DWARF, so it seems fair to me to implement/fix that (though I'm mostly of the opinion that fixing pre-DWARFv5 Split DWARF support is a low priority & we should be planning to remove that support to reduce the support surface) - but since you want to work on it/the patches are written/committed, so that's OK.

While analyzing/working on macro stuff, I stumbled upon this hole. So thought I should fix this first.

So, yeah, in short: Approved, conditional on changing the test case to DWARFv4 rather than DWARFv5. Thanks!

Thank you for this!

Dec 5 2019, 11:20 PM · Restricted Project, debug-info

Dec 4 2019

SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

Sorry, I'm a bit confused - this sort of thing should be included in the original review.

Ah, that was showing accepted. Even you reopened it[I noticed]. So that's why I created a new one. I think, I mentioned my intentions in previous revision also ??

But I think this whole direction (supporting macinfo.dwo) should not be done, since macinfo is not in DWARFv5 - so to reach DWARFv5 support, you/we/someone should first fix the existing bug (which is that debug_macro should be emitted in DWARFv5, but currently LLVM produces debug_macinfo instead). and then that correct support can be expanded to support Split DWARFv5.

Dec 4 2019, 11:47 AM · Restricted Project, debug-info
SouraVX created D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 4 2019, 5:48 AM · Restricted Project, debug-info

Dec 3 2019

SouraVX added a comment to D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..

This looks to be missing test coverage - this one patch adds both parsing and emission support for macinfo.dwo, but only tests the parsing support (there's no llc test that tests the emission)

Please separate patches like this into, first, a parsing patch (adds libDebugInfoDWARF functionality and test(s) like the one you have here) and then in a separate patch the emission support & tests for that.

(to be fair, I'm sort of OK (& have done myself in the past) with /only/ testing the emission, and getting test coverage for the parsing as a consequence of the emission testing, without separate parsing test coverage - but the opposite (only testing the parsing, without the emission) isn't sufficient)

Dec 3 2019, 10:05 AM · Restricted Project, debug-info
SouraVX committed rG8dd17a13b04f: [NFCI][DebugInfo] Corrected a comment. (authored by SouraVX).
[NFCI][DebugInfo] Corrected a comment.
Dec 3 2019, 6:22 AM

Dec 2 2019

SouraVX added a comment to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.

Looks OK to me - please recommit when you're ready.

Dec 2 2019, 8:40 PM · Restricted Project, Restricted Project, debug-info
SouraVX committed rGf1e3988aa601: Recommit "[DWARF5]Addition of alignment atrribute in typedef DIE." (authored by SouraVX).
Recommit "[DWARF5]Addition of alignment atrribute in typedef DIE."
Dec 2 2019, 8:31 PM
SouraVX committed rG3f3d0f4f4be0: [DebugInfo] Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump. (authored by SouraVX).
[DebugInfo] Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump.
Dec 2 2019, 7:45 PM
SouraVX closed D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..
Dec 2 2019, 7:45 PM · Restricted Project, debug-info
SouraVX added a comment to D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..

Thanks @aprantl for reviewing this!
Hi @dblaikie , @probinson , would you guys also want to share some final thoughts before I move forward and commit this.

Dec 2 2019, 1:02 PM · Restricted Project, debug-info
SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

@dblaikie , If you try switching to C compiler. then the DW_TAG_variable is their. for C++ . It's not generated. Please check godbolt again. -- though strange

Hmm - I don't seem to see it in C either: https://godbolt.org/z/EUufYE (it's present in 9.2 as it is with C++, but not present in GCC trunk)

Dec 2 2019, 12:34 PM · Restricted Project, Restricted Project, debug-info
SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

@dblaikie , If you try switching to C compiler. then the DW_TAG_variable is their. for C++ . It's not generated. Please check godbolt again. -- though strange

Dec 2 2019, 12:25 PM · Restricted Project, Restricted Project, debug-info
SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

@probinson for the question,

Does bpf require debug info for the declaration of global_var in noref.c ?

No, bpf only cares the referenced external global variables. So my current implementation does not emit debug info
for external global_var in noref.c.

It is just strange that gcc 7.3.1 (did not test, but maybe later gcc versions as well) emits the debuginfo (encoded in dwarf)
even if the external variable is not used in the current compilation unit. Not sure what is the rationale behind it.

Dec 2 2019, 12:06 PM · Restricted Project, Restricted Project, debug-info

Nov 30 2019

SouraVX updated subscribers of D70696: [DebugInfo] Support to emit debugInfo for extern variables.
Nov 30 2019, 7:16 AM · Restricted Project, Restricted Project, debug-info
SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

@SouraVX and @yonghong-song

cat extern.c
int global_var = 2;

compile as an extern.c shared a library ,then final executable a.out doesn't have debugInfo for global_var.

Nov 30 2019, 7:16 AM · Restricted Project, Restricted Project, debug-info
SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

If I remove !D->isUsed(), I should be able to generate the debuginfo for global_var and eventually in dwarf in your above case.
What exactly your use case here for these unused external variables?

Nov 30 2019, 5:19 AM · Restricted Project, Restricted Project, debug-info

Nov 29 2019

SouraVX added a comment to D70696: [DebugInfo] Support to emit debugInfo for extern variables.

Hi @yonghong-song , Thanks for doing this.
I have a doubt, regarding clang behavior, is this relevant to this.

Nov 29 2019, 2:19 AM · Restricted Project, Restricted Project, debug-info

Nov 27 2019

SouraVX updated subscribers of D70720: [llvm-objdump] Display locations of variables alongside disassembly.
Nov 27 2019, 9:36 PM · debug-info, Restricted Project

Nov 26 2019

SouraVX added a comment to D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..

Build result: fail - 60307 tests passed, 1 failed and 732 were skipped.

failed: LLVM.DebugInfo/debugmacinfo-dwo.test

Log files: console-log.txt, CMakeCache.txt

Nov 26 2019, 1:20 AM · Restricted Project, debug-info

Nov 25 2019

SouraVX created D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..
Nov 25 2019, 11:11 PM · Restricted Project, debug-info

Nov 24 2019

SouraVX abandoned D69839: [DebugInfo] Fix for stopping emission of debug_macinfo section in normal case and -fno-debug-macro switch enabled case..

David already closed this. A bit late,but I'm marking this as Abandoned.

Nov 24 2019, 11:28 PM · Restricted Project

Nov 23 2019

SouraVX updated subscribers of rG81b0a3284af1: [DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump..

Hi @grosbach, the commit message for this missed the Differential Revision string before URL. As a result this wasn't updated back as closed in review.
So I reverted and recommitted back. I'm Sorry about that.
Thanks!

Nov 23 2019, 11:24 AM
SouraVX added a comment to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Do you have commit access, or do you need me to commit this for you?

Nov 23 2019, 6:52 AM · Restricted Project, debug-info
SouraVX committed rG0e02977b6e64: Recommit "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump." (authored by SouraVX).
Recommit "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump."
Nov 23 2019, 6:43 AM
SouraVX closed D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 23 2019, 6:43 AM · Restricted Project, debug-info
SouraVX committed rG02cb4b2fd699: Revert "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump." (authored by SouraVX).
Revert "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump."
Nov 23 2019, 6:25 AM
SouraVX added a reverting change for rG81b0a3284af1: [DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump.: rG02cb4b2fd699: Revert "[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump.".
Nov 23 2019, 6:25 AM

Nov 22 2019

SouraVX committed rG81b0a3284af1: [DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump. (authored by SouraVX).
[DWARF] Support for loclist.dwo section in llvm and llvm-dwarfdump.
Nov 22 2019, 9:23 PM

Nov 20 2019

SouraVX updated the diff for D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Addressed and incorporated suggestions by David, Pavel. Thanks for this.

Nov 20 2019, 11:55 PM · Restricted Project, debug-info
SouraVX added a comment to D69847: DWARFDebugLoc(v4): Add an incremental parsing function.

Could you share this binary or some instructions how to produce it. I know there are some issues with dumping gcc-produced range/location lists, but I don't think this has to do with how they are terminated. The for instance, if I tried to do a section-based dump ("inline dumps" work fine, but they don't show end-of-list entries) of the location list from https://reviews.llvm.org/D69847#1753190, then I'd get an error like "error: LLE of kind 2 not supported". However this is due to the "view" blurbs that gcc inserts and not about location lists per se. (Which kind of ties in to the discussion of how should we actually perform section dumps -- there's an opinion that just scanning through the section and printing location lists (i.e. what llvm-dwarfdump -debug-loc is doing now) is not correct/legal, and that one should always start from the debug_info section and follow references from there. Gcc apparently exploits this fact to insert some custom data into the debug_loc/range sections)

Nov 20 2019, 5:24 AM · Restricted Project
SouraVX added a comment to D69847: DWARFDebugLoc(v4): Add an incremental parsing function.

I'm sorry, but I'm confused. Are you saying that the .debug_loc.dwo (i.e. non-standardized dwarf4 fission) location lists should be terminated with a classical .debug_loc double-zero entry ? That doesn't seem right -- the .debug_loc.dwo lists are in reality very different from .debug_loc (they use DW_LLE_*** constants and everything), and are really more similar to .debug_loclists(.dwo) than .debug_loc (though there are some subtle differences). It also doesn't seem to be what gcc is doing now -- this is a typical location list I get from gcc-9 -gsplit-dwarf (comments added by me):

Nov 20 2019, 3:27 AM · Restricted Project
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 20 2019, 2:52 AM · Restricted Project, debug-info
SouraVX added a comment to D69847: DWARFDebugLoc(v4): Add an incremental parsing function.

Hi Pavel, a bug from debug_loc.dwo emission might has gone up here.
Now please correcting me if I'm wrong.
It's originating from the emission part of debug_loc.dwo. -- I tried pointing / correcting it in D69462.

Nov 20 2019, 2:06 AM · Restricted Project

Nov 19 2019

SouraVX added a comment to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.

There are two options here:

  • leave the C bindings as is (fine with me)
  • add an overloaded function to the C bindings that has the extra argument (also fine with me).
Nov 19 2019, 9:55 PM · Restricted Project, Restricted Project, debug-info
SouraVX added a comment to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.

Some how, this{eric response} doesn't got it's way to phabricator, anyways FYI

Nov 19 2019, 9:49 PM · Restricted Project, Restricted Project, debug-info
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 19 2019, 9:20 PM · Restricted Project, debug-info
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 19 2019, 9:09 PM · Restricted Project, debug-info
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 19 2019, 8:52 PM · Restricted Project, debug-info
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 19 2019, 3:41 AM · Restricted Project, debug-info
SouraVX added a comment to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Hi @labath @dblaikie , could you guys please have a look at this revised update. So that we all are on same we page as we progress. Pavel has done lot changes thanks a lot, I just wanted my work to be in sync with his work.
+ This patch doesn't take account of dwp files{Dwarf-5}. dwp prior{Dwarf-5} is intact.
+ Though I haven't look at this D70394 but their might be small conflict with this. But I'm happy to resolve that and address comments on this.
Thanks!

Nov 19 2019, 3:29 AM · Restricted Project, debug-info
SouraVX updated the diff for D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Rebased and revised to adapt DW_FORM_loclistx.

Nov 19 2019, 3:18 AM · Restricted Project, debug-info

Nov 18 2019

SouraVX updated subscribers of rG423f541c1a32: [DWARF5]Addition of alignment atrribute in typedef DIE..

Hi @sammccall, I'm sorry this caused problems.
BTW could you provide a test case or something, how this breaks llvm-c ABI.

Nov 18 2019, 8:35 AM
SouraVX planned changes to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Since DW_FORM_loclistx form is supported now.
I'm planning to revise this to accommodate DW_FORM_loclistx form.
Thank you for your patience.

Nov 18 2019, 5:54 AM · Restricted Project, debug-info

Nov 16 2019

SouraVX added a comment to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.

Hi @aprantl. I had made the changes and my team member will commit this.

Nov 16 2019, 8:47 AM · Restricted Project, Restricted Project, debug-info
SouraVX committed rG423f541c1a32: [DWARF5]Addition of alignment atrribute in typedef DIE. (authored by SouraVX).
[DWARF5]Addition of alignment atrribute in typedef DIE.
Nov 16 2019, 8:38 AM
SouraVX closed D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.
Nov 16 2019, 8:38 AM · Restricted Project, Restricted Project, debug-info

Nov 13 2019

SouraVX added a comment to D70081: DWARFDebugLoclists: add location list "interpretation" logic.

Now, I'm assuming "DW_LLE*" dumping/other stuff works fine with llvm-objdump and objdump GDB. since they share the same encoding's {pre/post DWARF5}?
But thier's one more slight glitch, for case of debug_loc{No split} section. We are still emitting raw ranges in a sense --

Nov 13 2019, 1:28 AM · Restricted Project

Nov 12 2019

SouraVX added inline comments to D70081: DWARFDebugLoclists: add location list "interpretation" logic.
Nov 12 2019, 10:28 AM · Restricted Project

Nov 11 2019

SouraVX added inline comments to D70081: DWARFDebugLoclists: add location list "interpretation" logic.
Nov 11 2019, 10:48 PM · Restricted Project

Nov 8 2019

SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 8 2019, 6:15 AM · Restricted Project, debug-info
SouraVX added a comment to D69935: [DeclCXX] Remove unknown external linkage specifications.

I created that patch, for purpose of emitting C++ language standards C++11, C++14 in the debug information to be available for consumer's[GDB,LLDB].
DW_TAG_lang_c_plus_plus_11 .. 14 --new tags for languages in DWARF5.
Sorry, I think, I missed this unintended additions in LinkageSpecDecl.

BTW, did you plan to completely revert this ??

This is only a partial revert. It reverts only the part of the linkage languages. The other parts changed are untouched. You have also added a test, which should still pass.

Nov 8 2019, 3:54 AM · Restricted Project
SouraVX added inline comments to D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..
Nov 8 2019, 3:01 AM · Restricted Project, debug-info
SouraVX updated the diff for D69462: [DebugInfo]: Support for debug_loclists.dwo section in llvm and llvm-dwarfdump..

Revised to use new api's based on @labath and @dblaikie work, to emit loclists.dwo section.

Nov 8 2019, 2:52 AM · Restricted Project, debug-info
SouraVX added a comment to D69935: [DeclCXX] Remove unknown external linkage specifications.

I created that patch, for purpose of emitting C++ language standards C++11, C++14 in the debug information to be available for consumer's[GDB,LLDB].
DW_TAG_lang_c_plus_plus_11 .. 14 --new tags for languages in DWARF5.
Sorry, I think, I missed this unintended additions in LinkageSpecDecl.

Nov 8 2019, 1:13 AM · Restricted Project