[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-07-16 Thread Pavel Labath via Phabricator via lldb-commits
labath added inline comments. Comment at: lldb/include/lldb/Core/FileSpecList.h:191-192 + const_iterator end() const { return m_files.end(); } + const_iterator begin() { return m_files.begin(); } + const_iterator end() { return m_files.end(); } + If both of th

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-07-12 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere updated this revision to Diff 209650. JDevlieghere marked 2 inline comments as done. JDevlieghere added a comment. - Address remaining comment from George CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62570/new/ https://reviews.llvm.org/D62570 Files: lldb/include/lldb/Co

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-07-12 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere marked 7 inline comments as done. JDevlieghere added inline comments. Comment at: lldb/include/lldb/Core/FileSpecList.h:29 + typedef std::vector collection; + typedef collection::iterator iterator; + typedef collection::const_iterator const_iterator; -

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-07-12 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere updated this revision to Diff 209648. JDevlieghere added a comment. - Rebase on current master - Fix bug where we weren't actually creating any sections in the LLVM DWARF Context - Don't create an LLVM DWARFUnit - Get rid of `(*line_table)->` - Add logging instead of swallowing error

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-30 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. BTW, how good is the llvm debug_line parser when it comes to handling invalid input? Looking through the asserts in the file, it looks like at least two of them can be tripped by feeding it bad data: - I'm pretty sure the DW_LNCT_*** handling code can blow up if the data

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-30 Thread George Rimar via Phabricator via lldb-commits
grimar added inline comments. Comment at: lldb/include/lldb/Core/FileSpecList.h:29 + typedef std::vector collection; + typedef collection::iterator iterator; + typedef collection::const_iterator const_iterator; Seems you don't use `iterator` anywhere? ==

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-29 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. overall looks good. See inlined comments. Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:929-938 + llvm::DWARFDebugLine line; + llvm::Expected line_table = + line.getOrParseLineTable( + data, offset, *ctx, ctx->get

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-29 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl added a comment. Very nice! Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:874 + data.GetByteOrder() == eByteOrderLittle, data.GetAddressByteSize()); +} should this be a `getAsLLVM()` member function or even an `operator()`?

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-29 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. Interesting stuff. I was wondering why you even needed to construct the `DWARFContext` and `DWARFUnit`, so I looked around a bit. It looks like they are only used for calling `DWARFFormValue::extract` to fetch the strings from the string table in the V5 case. So, it soun

[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

2019-05-28 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere created this revision. JDevlieghere added reviewers: labath, aprantl, clayborg, grimar, friss. Herald added subscribers: llvm-commits, jdoerfert, abidh, mgorny. Herald added projects: LLDB, LLVM. The line number table header was substantially revised in DWARF 5, which is not supporte