mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 19:08:21 +08:00
[NFC][lldb][windows] fully qualify references to MemoryRegionInfo (#169845)
This commit is contained in:
@@ -136,7 +136,7 @@ SymbolContext ScriptInterpreter::GetOpaqueTypeFromSBSymbolContext(
|
||||
return {};
|
||||
}
|
||||
|
||||
std::optional<MemoryRegionInfo>
|
||||
std::optional<lldb_private::MemoryRegionInfo>
|
||||
ScriptInterpreter::GetOpaqueTypeFromSBMemoryRegionInfo(
|
||||
const lldb::SBMemoryRegionInfo &mem_region) const {
|
||||
if (!mem_region.m_opaque_up)
|
||||
|
||||
@@ -6547,7 +6547,7 @@ Status Process::WriteMemoryTags(lldb::addr_t addr, size_t len,
|
||||
|
||||
// Create a CoreFileMemoryRange from a MemoryRegionInfo
|
||||
static CoreFileMemoryRange
|
||||
CreateCoreFileMemoryRange(const MemoryRegionInfo ®ion) {
|
||||
CreateCoreFileMemoryRange(const lldb_private::MemoryRegionInfo ®ion) {
|
||||
const addr_t addr = region.GetRange().GetRangeBase();
|
||||
llvm::AddressRange range(addr, addr + region.GetRange().GetByteSize());
|
||||
return {range, region.GetLLDBPermissions()};
|
||||
@@ -6556,7 +6556,7 @@ CreateCoreFileMemoryRange(const MemoryRegionInfo ®ion) {
|
||||
// Add dirty pages to the core file ranges and return true if dirty pages
|
||||
// were added. Return false if the dirty page information is not valid or in
|
||||
// the region.
|
||||
static bool AddDirtyPages(const MemoryRegionInfo ®ion,
|
||||
static bool AddDirtyPages(const lldb_private::MemoryRegionInfo ®ion,
|
||||
CoreFileMemoryRanges &ranges) {
|
||||
const auto &dirty_page_list = region.GetDirtyPageList();
|
||||
if (!dirty_page_list)
|
||||
@@ -6595,8 +6595,8 @@ static bool AddDirtyPages(const MemoryRegionInfo ®ion,
|
||||
// given region. If the region has dirty page information, only dirty pages
|
||||
// will be added to \a ranges, else the entire range will be added to \a
|
||||
// ranges.
|
||||
static void AddRegion(const MemoryRegionInfo ®ion, bool try_dirty_pages,
|
||||
CoreFileMemoryRanges &ranges) {
|
||||
static void AddRegion(const lldb_private::MemoryRegionInfo ®ion,
|
||||
bool try_dirty_pages, CoreFileMemoryRanges &ranges) {
|
||||
// Don't add empty ranges.
|
||||
if (region.GetRange().GetByteSize() == 0)
|
||||
return;
|
||||
@@ -6619,7 +6619,7 @@ static void SaveDynamicLoaderSections(Process &process,
|
||||
if (!dyld)
|
||||
return;
|
||||
|
||||
std::vector<MemoryRegionInfo> dynamic_loader_mem_regions;
|
||||
std::vector<lldb_private::MemoryRegionInfo> dynamic_loader_mem_regions;
|
||||
std::function<bool(const lldb_private::Thread &)> save_thread_predicate =
|
||||
[&](const lldb_private::Thread &t) -> bool {
|
||||
return options.ShouldThreadBeSaved(t.GetID());
|
||||
@@ -6744,10 +6744,11 @@ static void GetCoreFileSaveRangesStackOnly(Process &process,
|
||||
|
||||
// TODO: We should refactor CoreFileMemoryRanges to use the lldb range type, and
|
||||
// then add an intersect method on it, or MemoryRegionInfo.
|
||||
static MemoryRegionInfo Intersect(const MemoryRegionInfo &lhs,
|
||||
const MemoryRegionInfo::RangeType &rhs) {
|
||||
static lldb_private::MemoryRegionInfo
|
||||
Intersect(const lldb_private::MemoryRegionInfo &lhs,
|
||||
const lldb_private::MemoryRegionInfo::RangeType &rhs) {
|
||||
|
||||
MemoryRegionInfo region_info;
|
||||
lldb_private::MemoryRegionInfo region_info;
|
||||
region_info.SetLLDBPermissions(lhs.GetLLDBPermissions());
|
||||
region_info.GetRange() = lhs.GetRange().Intersect(rhs);
|
||||
|
||||
|
||||
@@ -326,7 +326,7 @@ TEST_F(GDBRemoteCommunicationClientTest, SendSignalsToIgnore) {
|
||||
|
||||
TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfo) {
|
||||
const lldb::addr_t addr = 0xa000;
|
||||
MemoryRegionInfo region_info;
|
||||
lldb_private::MemoryRegionInfo region_info;
|
||||
std::future<Status> result = std::async(std::launch::async, [&] {
|
||||
return client.GetMemoryRegionInfo(addr, region_info);
|
||||
});
|
||||
@@ -343,13 +343,16 @@ TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfo) {
|
||||
EXPECT_TRUE(result.get().Success());
|
||||
EXPECT_EQ(addr, region_info.GetRange().GetRangeBase());
|
||||
EXPECT_EQ(0x2000u, region_info.GetRange().GetByteSize());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.GetReadable());
|
||||
EXPECT_EQ(MemoryRegionInfo::eNo, region_info.GetWritable());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.GetExecutable());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes, region_info.GetReadable());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eNo, region_info.GetWritable());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes, region_info.GetExecutable());
|
||||
EXPECT_EQ("/foo/bar.so", region_info.GetName().GetStringRef());
|
||||
EXPECT_EQ(MemoryRegionInfo::eDontKnow, region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(MemoryRegionInfo::eDontKnow, region_info.IsStackMemory());
|
||||
EXPECT_EQ(MemoryRegionInfo::eDontKnow, region_info.IsShadowStack());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eDontKnow,
|
||||
region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eDontKnow,
|
||||
region_info.IsStackMemory());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eDontKnow,
|
||||
region_info.IsShadowStack());
|
||||
|
||||
result = std::async(std::launch::async, [&] {
|
||||
return client.GetMemoryRegionInfo(addr, region_info);
|
||||
@@ -358,9 +361,9 @@ TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfo) {
|
||||
HandlePacket(server, "qMemoryRegionInfo:a000",
|
||||
"start:a000;size:2000;flags:;type:stack;");
|
||||
EXPECT_TRUE(result.get().Success());
|
||||
EXPECT_EQ(MemoryRegionInfo::eNo, region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.IsStackMemory());
|
||||
EXPECT_EQ(MemoryRegionInfo::eNo, region_info.IsShadowStack());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eNo, region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes, region_info.IsStackMemory());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eNo, region_info.IsShadowStack());
|
||||
|
||||
result = std::async(std::launch::async, [&] {
|
||||
return client.GetMemoryRegionInfo(addr, region_info);
|
||||
@@ -369,9 +372,10 @@ TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfo) {
|
||||
HandlePacket(server, "qMemoryRegionInfo:a000",
|
||||
"start:a000;size:2000;flags: mt zz mt ss ;type:ha,ha,stack;");
|
||||
EXPECT_TRUE(result.get().Success());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.IsStackMemory());
|
||||
EXPECT_EQ(MemoryRegionInfo::eYes, region_info.IsShadowStack());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes,
|
||||
region_info.GetMemoryTagged());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes, region_info.IsStackMemory());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eYes, region_info.IsShadowStack());
|
||||
|
||||
result = std::async(std::launch::async, [&] {
|
||||
return client.GetMemoryRegionInfo(addr, region_info);
|
||||
@@ -380,12 +384,12 @@ TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfo) {
|
||||
HandlePacket(server, "qMemoryRegionInfo:a000",
|
||||
"start:a000;size:2000;type:heap;");
|
||||
EXPECT_TRUE(result.get().Success());
|
||||
EXPECT_EQ(MemoryRegionInfo::eNo, region_info.IsStackMemory());
|
||||
EXPECT_EQ(lldb_private::MemoryRegionInfo::eNo, region_info.IsStackMemory());
|
||||
}
|
||||
|
||||
TEST_F(GDBRemoteCommunicationClientTest, GetMemoryRegionInfoInvalidResponse) {
|
||||
const lldb::addr_t addr = 0x4000;
|
||||
MemoryRegionInfo region_info;
|
||||
lldb_private::MemoryRegionInfo region_info;
|
||||
std::future<Status> result = std::async(std::launch::async, [&] {
|
||||
return client.GetMemoryRegionInfo(addr, region_info);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user