Skip to content

lldb [NFC] Add logging to Process when address masks are updated #7006

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 4 additions & 14 deletions lldb/include/lldb/Target/Process.h
Original file line number Diff line number Diff line change
Expand Up @@ -1393,21 +1393,11 @@ class Process : public std::enable_shared_from_this<Process>,
lldb::addr_t GetHighmemCodeAddressMask();
lldb::addr_t GetHighmemDataAddressMask();

void SetCodeAddressMask(lldb::addr_t code_address_mask) {
m_code_address_mask = code_address_mask;
}

void SetDataAddressMask(lldb::addr_t data_address_mask) {
m_data_address_mask = data_address_mask;
}
void SetCodeAddressMask(lldb::addr_t code_address_mask);
void SetDataAddressMask(lldb::addr_t data_address_mask);

void SetHighmemCodeAddressMask(lldb::addr_t code_address_mask) {
m_highmem_code_address_mask = code_address_mask;
}

void SetHighmemDataAddressMask(lldb::addr_t data_address_mask) {
m_highmem_data_address_mask = data_address_mask;
}
void SetHighmemCodeAddressMask(lldb::addr_t code_address_mask);
void SetHighmemDataAddressMask(lldb::addr_t data_address_mask);

/// Some targets might use bits in a code address to indicate a mode switch,
/// ARM uses bit zero to signify a code address is thumb, so any ARM ABI
Expand Down
28 changes: 28 additions & 0 deletions lldb/source/Target/Process.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5854,6 +5854,34 @@ lldb::addr_t Process::GetHighmemDataAddressMask() {
return GetDataAddressMask();
}

void Process::SetCodeAddressMask(lldb::addr_t code_address_mask) {
Log *log = GetLog(LLDBLog::Process);
LLDB_LOGF(log, "Setting Process code address mask to 0x%" PRIx64,
code_address_mask);
m_code_address_mask = code_address_mask;
}

void Process::SetDataAddressMask(lldb::addr_t data_address_mask) {
Log *log = GetLog(LLDBLog::Process);
LLDB_LOGF(log, "Setting Process data address mask to 0x%" PRIx64,
data_address_mask);
m_data_address_mask = data_address_mask;
}

void Process::SetHighmemCodeAddressMask(lldb::addr_t code_address_mask) {
Log *log = GetLog(LLDBLog::Process);
LLDB_LOGF(log, "Setting Process highmem code address mask to 0x%" PRIx64,
code_address_mask);
m_highmem_code_address_mask = code_address_mask;
}

void Process::SetHighmemDataAddressMask(lldb::addr_t data_address_mask) {
Log *log = GetLog(LLDBLog::Process);
LLDB_LOGF(log, "Setting Process highmem data address mask to 0x%" PRIx64,
data_address_mask);
m_highmem_data_address_mask = data_address_mask;
}

addr_t Process::FixCodeAddress(addr_t addr) {
if (ABISP abi_sp = GetABI())
addr = abi_sp->FixCodeAddress(addr);
Expand Down