forked from OSchip/llvm-project
sanitizer_common: expose max_address from LoadedModule
Currently LoadedModule provides max_executable_address. Replace it with just max_address. It's only used for printing for human inspection and since modules are non-overlapping, max_address is as good as max_executable_address for matching addresses/PCs against modules (I assume it's used for that). On the hand, max_address is more general and can used to match e.g. data addresses. I want to use it for that purpose in future changes. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D122906
This commit is contained in:
parent
cad178274c
commit
abc51fac09
|
@ -154,7 +154,7 @@ void LoadedModule::setUuid(const char *uuid, uptr size) {
|
|||
void LoadedModule::clear() {
|
||||
InternalFree(full_name_);
|
||||
base_address_ = 0;
|
||||
max_executable_address_ = 0;
|
||||
max_address_ = 0;
|
||||
full_name_ = nullptr;
|
||||
arch_ = kModuleArchUnknown;
|
||||
internal_memset(uuid_, 0, kModuleUUIDSize);
|
||||
|
@ -172,8 +172,7 @@ void LoadedModule::addAddressRange(uptr beg, uptr end, bool executable,
|
|||
AddressRange *r =
|
||||
new(mem) AddressRange(beg, end, executable, writable, name);
|
||||
ranges_.push_back(r);
|
||||
if (executable && end > max_executable_address_)
|
||||
max_executable_address_ = end;
|
||||
max_address_ = Max(max_address_, end);
|
||||
}
|
||||
|
||||
bool LoadedModule::containsAddress(uptr address) const {
|
||||
|
|
|
@ -782,7 +782,7 @@ class LoadedModule {
|
|||
LoadedModule()
|
||||
: full_name_(nullptr),
|
||||
base_address_(0),
|
||||
max_executable_address_(0),
|
||||
max_address_(0),
|
||||
arch_(kModuleArchUnknown),
|
||||
uuid_size_(0),
|
||||
instrumented_(false) {
|
||||
|
@ -800,7 +800,7 @@ class LoadedModule {
|
|||
|
||||
const char *full_name() const { return full_name_; }
|
||||
uptr base_address() const { return base_address_; }
|
||||
uptr max_executable_address() const { return max_executable_address_; }
|
||||
uptr max_address() const { return max_address_; }
|
||||
ModuleArch arch() const { return arch_; }
|
||||
const u8 *uuid() const { return uuid_; }
|
||||
uptr uuid_size() const { return uuid_size_; }
|
||||
|
@ -830,7 +830,7 @@ class LoadedModule {
|
|||
private:
|
||||
char *full_name_; // Owned.
|
||||
uptr base_address_;
|
||||
uptr max_executable_address_;
|
||||
uptr max_address_;
|
||||
ModuleArch arch_;
|
||||
uptr uuid_size_;
|
||||
u8 uuid_[kModuleUUIDSize];
|
||||
|
|
|
@ -1404,7 +1404,7 @@ void DumpProcessMap() {
|
|||
char uuid_str[128];
|
||||
FormatUUID(uuid_str, sizeof(uuid_str), modules[i].uuid());
|
||||
Printf("0x%zx-0x%zx %s (%s) %s\n", modules[i].base_address(),
|
||||
modules[i].max_executable_address(), modules[i].full_name(),
|
||||
modules[i].max_address(), modules[i].full_name(),
|
||||
ModuleArchToString(modules[i].arch()), uuid_str);
|
||||
}
|
||||
Printf("End of module map.\n");
|
||||
|
|
Loading…
Reference in New Issue