[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-20 Thread Mika Molenkamp via Phabricator via lldb-commits
iridinite added a comment. @kwk Thanks for the links, good to know that there is a debuginfod client in the LLVM project. However, doesn't lldb itself still need to integrate with this, like @fche2 mentioned, for end-users to be able to work with it? (Please correct me if I'm wrong, I am not fa

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-17 Thread Frank Ch. Eigler via Phabricator via lldb-commits
fche2 added a comment. Closing this might have been premature. I can't find an lldb debuginfod client side support. Is that somehow behind llvm-symbolicator or something like that? Is there documentation? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llv

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-17 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk abandoned this revision. kwk added a comment. There already is a Debuginfod implementation in LLVM by now. Abandoning revision. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75750/new/ https://reviews.llvm.org/D75750 _

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-17 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk added a comment. Looks like it is already there: https://github.com/llvm/llvm-project/tree/main/llvm/include/llvm/Debuginfod Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75750/new/ https://reviews.llvm.org/D75750 ___

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-17 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk added a subscriber: phosek. kwk added a comment. @iridinite please see these: - https://discourse.llvm.org/t/http-library-in-llvm/56317/10 - https://discourse.llvm.org/t/rfc-building-llvm-debuginfod/59011 - https://discourse.llvm.org/t/rfc-building-llvm-debuginfod/58994 - https://discourse.ll

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2023-03-17 Thread Mika Molenkamp via Phabricator via lldb-commits
iridinite added a comment. Hello all, I am quite interested in integrating debuginfod with LLDB; my colleagues and I are currently exploring moving away from GDB to LLDB for general development work, since it appears to outperform GDB in many respects! It appears there has been no activity on

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-22 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D75750#1993990 , @jankratochvil wrote: > In D75750#1991873 , @labath wrote: > > > In D75750#1988694 , @jankratochvil > > wrote: > > > > > The cur

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-21 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil added a comment. In D75750#1991873 , @labath wrote: > In D75750#1988694 , @jankratochvil > wrote: > > > The current plan discussed with @kwk is to create the new `SymbolServer` > > abstract superclas

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-20 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D75750#1988669 , @kwk wrote: > In D75750#1988330 , @labath wrote: > > > The situation around finding symbols is messy enough already > > > The way in which I integrated debuginfod for now

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-17 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil added a comment. The current plan discussed with @kwk is to create the new `SymbolServer` abstract superclass and some its inherited implementation and move there the appropriate parts of existing `lldb/source/Symbol/LocateSymbolFile.cpp`. Current `SymbolVendor` implementations wo

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-17 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk added a subscriber: fche. kwk added a comment. In D75750#1988330 , @labath wrote: > lldb-dev is indeed a better place for the architectural discussion. However, > moving the discussion there does not automatically unblock this patch. "get > something

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-17 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. lldb-dev is indeed a better place for the architectural discussion. However, moving the discussion there does not automatically unblock this patch. "get something in now and improve the architecture later" almost never works out in practice. In fact I would say that addi

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-17 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk added a comment. In D75750#1971446 , @labath wrote: > In D75750#1967019 , @fche2 wrote: > > > >> So it might be good to have the SymbolVendors use one or more > > >> SymbolServer plug-ins. > > > > > > I don't

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-09 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D75750#1967019 , @fche2 wrote: > >> So it might be good to have the SymbolVendors use one or more SymbolServer > >> plug-ins. > > > > I don't believe we have anything that would require all modules in a given > > target (or wh

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-07 Thread Frank Ch. Eigler via Phabricator via lldb-commits
fche2 added a comment. >> So it might be good to have the SymbolVendors use one or more SymbolServer >> plug-ins. > > I don't believe we have anything that would require all modules in a given > target (or whatever) to use the same symbol vendor type. [...] Just for clarity, is someone propos

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-01 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D75750#1953924 , @clayborg wrote: > The main issue is that the symbol vendors currently are ELF, macOS and WASM. > Right now we have one SymbolVendor for a triple, but I can see a SymbolVendor > wanting to use multiple symbol s

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-04-01 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil added a comment. In D75750#1954086 , @clayborg wrote: > Another idea for the SymbolServers: be able to specify a source repository > (git, svn etc) and hash or revision ID. The symbol server can grab the source > from the repo and cache is

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-31 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. Another idea for the SymbolServers: be able to specify a source repository (git, svn etc) and hash or revision ID. The symbol server can grab the source from the repo and cache is locally for display. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-31 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. The main issue is that the symbol vendors currently are ELF, macOS and WASM. Right now we have one SymbolVendor for a triple, but I can see a SymbolVendor wanting to use multiple symbol servers to get information: one for the OS binaries (debuginfod or DebugSymbols.fra

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-31 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. Making a plugin out of this sounds like a good idea to me, and I could immediately find several downstream users for it. However, it seems to me there is a great deal of overlap between this SymbolServer thingy and the existing SymbolVendor plugin (I mean, "vend" and "se

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-30 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. In D75750#1949678 , @fche2 wrote: > In D75750#1949527 , @labath wrote: > > > > > > > > > I am expecting that this feature will hook in very near to > > `DownloadObjectAndSymbolFile` for do

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-30 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. In D75750#1949527 , @labath wrote: > In D75750#1948273 , @clayborg wrote: > > > Currently we have a solution for macOS to locate symbol files in the > > "lldb/source/Symbol/LocateSymbolFil

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-30 Thread Frank Ch. Eigler via Phabricator via lldb-commits
fche2 added a comment. In D75750#1949527 , @labath wrote: > > I am expecting that this feature will hook in very near to > `DownloadObjectAndSymbolFile` for downloading the debug info, but it's not > clear to me how would the source files fit in. Cur

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-30 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In D75750#1948273 , @clayborg wrote: > Currently we have a solution for macOS to locate symbol files in the > "lldb/source/Symbol/LocateSymbolFile.cpp" file in the > Symbols::LocateExecutableSymbolFile(...) function: > > static

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-30 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk updated this revision to Diff 253531. kwk added a comment. - Use file:// and require debuginfod 0.179 - simplify FindDebuginfod.cmake Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75750/new/ https://reviews.llvm.org/D75750 Files: lldb/cmake/

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-28 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. Currently we have a solution for macOS to locate symbol files in the "lldb/source/Symbol/LocateSymbolFile.cpp" file in the Symbols::LocateExecutableSymbolFile(...) function: static FileSpec Symbols::LocateExecutableSymbolFile(const ModuleSpec &module_spec, const Fil

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-26 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk marked 3 inline comments as done. kwk added a comment. @labath I made a signficant simplification of starting and killing the server. I hope you like that better. Comment at: lldb/source/Core/SourceManager.cpp:408 + if ((!file_spec.GetDirectory() && file_spec.GetFilen

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-25 Thread Jim Ingham via Phabricator via lldb-commits
jingham added a reviewer: clayborg. jingham added a comment. Greg originally designed the macOS equivalent of this, so I've added him. I totally agree that you should only do wide searches for source files when there's no way to get a narrower context. Even "source list" could use the current

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-25 Thread Pavel Labath via Phabricator via lldb-commits
labath added a reviewer: jingham. labath requested changes to this revision. labath added a subscriber: jingham. labath added a comment. This revision now requires changes to proceed. Adding @jingham. Jim, what do you make of this patch and the feature overall? I know I said this looks "mostly go

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-25 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk updated this revision to Diff 252510. kwk marked 10 inline comments as done. kwk added a comment. - Add newline to end of FindDebuginfod.cmake - Describe empty string returned from debuginfod::findSource() - Don't treat build IDs of len <= 8 as an error but simply as not found - move inexpensi

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-25 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk added a comment. @jankratochvil thanks for this thorough review. I have to think about one comment more precisely but the rest was fixed. Comment at: lldb/source/Host/common/DebugInfoD.cpp:50 + "invalid build ID: %s", +

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-24 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil added inline comments. Comment at: lldb/source/Core/SourceManager.cpp:415 target->GetImages().ResolveSymbolContextForFilePath( file_spec.GetFilename().AsCString(), 0, check_inlines, SymbolContextItem(eSymbolContextModul

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-24 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil requested changes to this revision. jankratochvil added inline comments. This revision now requires changes to proceed. Comment at: lldb/cmake/modules/FindDebuginfod.cmake:59 +endif() \ No newline at end of file "No newline at end of file", this is

[Lldb-commits] [PATCH] D75750: [lldb] integrate debuginfod

2020-03-24 Thread Konrad Wilhelm Kleine via Phabricator via lldb-commits
kwk marked 10 inline comments as done. kwk added a comment. @labath @jankratochvil @fche2 I've addressed all your comments and hope the patch is good to go now. Comment at: lldb/source/Host/common/DebugInfoD.cpp:43 + buildID.GetBytes().size() == + sizeof(llvm::su