jasonmolenda added inline comments.
================ Comment at: lldb/include/lldb/API/SBProcess.h:445 + lldb::addr_t FixDataAddress(lldb::addr_t addr); + lldb::addr_t FixAnyAddress(lldb::addr_t addr); + ---------------- clayborg wrote: > What does this function do? Does it try to auto detect code/data low/hi on > its own assuming that specific regions are easily identifiable? We have the same method in Process. Linux has separate masks for code & data addresses, so we have FixCode and FixData methods, but sometimes you just have an addr_t and you don't know the context (e.g. a register value that you're testing to see if it points to a symbol so you can print that as additional info to the user), and so in that case we have a Process::FixAddress. There is one armv7 abi that clears the 0th bit on FixCode address, and I could see other ABIs doing similar things for the fixed nature of code addresses. But Data addresses are the most general, having to point to any addressable byte. Our Process/SBProcess say "FixCode if you know it's code, FixData if you know it's data. And if you don't know, FixData". But I think having a "FixAddress" method, making it clear that you don't know the origin of the value, makes the intention a little clearer. Even if it's just calling FixData inside Process. ================ Comment at: lldb/source/API/SBProcess.cpp:1260-1261 + return process_sp->GetHighmemDataAddressMask(); + case eMaskTypeAny: + return process_sp->GetDataAddressMask(); + } ---------------- clayborg wrote: > Any reason we actually have a case for eMaskTypeAny? What makes this useful? We have 4 different masks because of Linux's design, and because I have an internal customer doing different page table layouts for high & low memory in the same process (sigh), but realistically 99% of our programs are going to have the same mask for all 4 types. Making an SB API user choose which mask they want of the four makes it harder to use, imo. The folks doing genuinely unusual things, like the internal customer I have using high & low memory with different page table setups, can jump through the hoops of getting the different masks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155905/new/ https://reviews.llvm.org/D155905 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits