[lldb] [llvm] [lldb][DWARF] Replace lldb's DWARFDebugArangeSet with llvm's (PR #110058)
Zequan Wu via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 26 11:24:00 PDT 2024
================
@@ -7,65 +7,45 @@
//===----------------------------------------------------------------------===//
#include "DWARFDebugAranges.h"
-#include "DWARFDebugArangeSet.h"
#include "DWARFUnit.h"
#include "LogChannelDWARF.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Timer.h"
+#include "llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h"
using namespace lldb;
using namespace lldb_private;
using namespace lldb_private::plugin::dwarf;
+using llvm::DWARFDebugArangeSet;
// Constructor
DWARFDebugAranges::DWARFDebugAranges() : m_aranges() {}
-// CountArangeDescriptors
-class CountArangeDescriptors {
-public:
- CountArangeDescriptors(uint32_t &count_ref) : count(count_ref) {
- // printf("constructor CountArangeDescriptors()\n");
- }
- void operator()(const DWARFDebugArangeSet &set) {
- count += set.NumDescriptors();
- }
- uint32_t &count;
-};
-
// Extract
void DWARFDebugAranges::extract(const DWARFDataExtractor &debug_aranges_data) {
+ llvm::DWARFDataExtractor llvm_dwarf_data =
+ debug_aranges_data.GetAsLLVMDWARF();
lldb::offset_t offset = 0;
DWARFDebugArangeSet set;
Range range;
- while (debug_aranges_data.ValidOffset(offset)) {
+ while (llvm_dwarf_data.isValidOffset(offset)) {
const lldb::offset_t set_offset = offset;
- if (llvm::Error error = set.extract(debug_aranges_data, &offset)) {
+ if (llvm::Error error = set.extract(llvm_dwarf_data, &offset, nullptr)) {
----------------
ZequanWu wrote:
It's a warning handler function. I leave it to nullptr on purpose to preserve lldb's current behaviour so that it doesn't emit extra warnings.
I change the third parameter on `llvm::DWARFDebugArangeSet::extract` to be nullptr be default. So, we can omit it.
https://github.com/llvm/llvm-project/pull/110058
More information about the llvm-commits
mailing list