parent
c3aba6aafa
commit
aaa0ba31a9
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
// Get the DWARF constant defintions from llvm
|
||||
// Get the DWARF constant definitions from llvm
|
||||
#include "llvm/Support/Dwarf.h"
|
||||
// and stuff them in our default namespace
|
||||
using namespace llvm::dwarf;
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
#define LLDB_INVALID_QUEUE_ID 0
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
/// CPU Type defintions
|
||||
/// CPU Type definitions
|
||||
//----------------------------------------------------------------------
|
||||
#define LLDB_ARCH_DEFAULT "systemArch"
|
||||
#define LLDB_ARCH_DEFAULT_32BIT "systemArch32"
|
||||
|
@ -111,7 +111,7 @@
|
|||
#define LLDB_INVALID_CPUTYPE (0xFFFFFFFEu)
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
/// Option Set defintions
|
||||
/// Option Set definitions
|
||||
//----------------------------------------------------------------------
|
||||
// FIXME: I'm sure there's some #define magic that can create all 32 sets on the
|
||||
// fly. That would have the added benefit of making this unreadable.
|
||||
|
|
|
@ -162,7 +162,7 @@ typedef enum NameMatchType
|
|||
typedef enum InstructionType
|
||||
{
|
||||
eInstructionTypeAny, // Support for any instructions at all (at least one)
|
||||
eInstructionTypePrologueEpilogue, // All prologue and epilogue instructons that push and pop register values and modify sp/fp
|
||||
eInstructionTypePrologueEpilogue, // All prologue and epilogue instructions that push and pop register values and modify sp/fp
|
||||
eInstructionTypePCModifying, // Any instruction that modifies the program counter/instruction pointer
|
||||
eInstructionTypeAll // All instructions of any kind
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
|
|
|
@ -1224,7 +1224,7 @@ OptionDefinition
|
|||
g_memory_write_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, true, "infile", 'i', OptionParser::eRequiredArgument, NULL, 0, eArgTypeFilename, "Write memory using the contents of a file."},
|
||||
{ LLDB_OPT_SET_1, false, "offset", 'o', OptionParser::eRequiredArgument, NULL, 0, eArgTypeOffset, "Start writng bytes from an offset within the input file."},
|
||||
{ LLDB_OPT_SET_1, false, "offset", 'o', OptionParser::eRequiredArgument, NULL, 0, eArgTypeOffset, "Start writing bytes from an offset within the input file."},
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -146,7 +146,7 @@ Listener::StopListeningForEvents (Broadcaster* broadcaster, uint32_t event_mask)
|
|||
return false;
|
||||
}
|
||||
|
||||
// Called when a Broadcaster is in its destuctor. We need to remove all
|
||||
// Called when a Broadcaster is in its destructor. We need to remove all
|
||||
// knowledge of this broadcaster and any events that it may have queued up
|
||||
void
|
||||
Listener::BroadcasterWillDestruct (Broadcaster *broadcaster)
|
||||
|
|
|
@ -1129,7 +1129,7 @@ DynamicLoaderDarwinKernel::ReadKextSummaryHeader ()
|
|||
const ByteOrder byte_order = m_kernel.GetByteOrder();
|
||||
Error error;
|
||||
// Read enough bytes for a "OSKextLoadedKextSummaryHeader" structure
|
||||
// which is currenty 4 uint32_t and a pointer.
|
||||
// which is currently 4 uint32_t and a pointer.
|
||||
uint8_t buf[24];
|
||||
DataExtractor data (buf, sizeof(buf), byte_order, addr_size);
|
||||
const size_t count = 4 * sizeof(uint32_t) + addr_size;
|
||||
|
@ -1152,7 +1152,7 @@ DynamicLoaderDarwinKernel::ReadKextSummaryHeader ()
|
|||
{
|
||||
Stream *s = m_process->GetTarget().GetDebugger().GetOutputFile().get();
|
||||
s->Printf ("WARNING: Unable to read kext summary header, got improbable version number %u\n", m_kext_summary_header.version);
|
||||
// If we get an improbably large veriosn number, we're probably getting bad memory.
|
||||
// If we get an improbably large version number, we're probably getting bad memory.
|
||||
m_kext_summary_header_addr.Clear();
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ protected:
|
|||
lldb_private::UUID uuid; // UUID for this dylib if it has one, else all zeros
|
||||
llvm::MachO::mach_header header; // The mach header for this image
|
||||
std::vector<Segment> segments; // All segment vmaddr and vmsize pairs for this executable (from memory of inferior)
|
||||
uint32_t load_stop_id; // The process stop ID that the sections for this image were loadeded
|
||||
uint32_t load_stop_id; // The process stop ID that the sections for this image were loaded
|
||||
|
||||
DYLDImageInfo() :
|
||||
address(LLDB_INVALID_ADDRESS),
|
||||
|
|
|
@ -468,7 +468,7 @@ DynamicLoaderPOSIXDYLD::GetThreadLocalData (const lldb::ModuleSP module, const l
|
|||
if (modid == -1)
|
||||
return LLDB_INVALID_ADDRESS;
|
||||
|
||||
// Lookup the DTV stucture for this thread.
|
||||
// Lookup the DTV structure for this thread.
|
||||
addr_t dtv_ptr = tp + metadata.dtv_offset;
|
||||
addr_t dtv = ReadPointer (dtv_ptr);
|
||||
if (dtv == LLDB_INVALID_ADDRESS)
|
||||
|
|
|
@ -247,7 +247,7 @@ ObjectContainerBSDArchive::Archive::FindCachedArchive (const FileSpec &file, con
|
|||
// whose modification time doesn't match. It doesn't make sense
|
||||
// for us to continue to use this BSD archive since we cache only
|
||||
// the object info which consists of file time info and also the
|
||||
// file offset and file size of any contianed objects. Since
|
||||
// file offset and file size of any contained objects. Since
|
||||
// this information is now out of date, we won't get the correct
|
||||
// information if we go and extract the file data, so we should
|
||||
// remove the old and outdated entry.
|
||||
|
|
|
@ -353,7 +353,7 @@ struct ELFRel
|
|||
}
|
||||
|
||||
/// Returns the symbol index when the given entry represents a 32-bit
|
||||
/// reloction.
|
||||
/// relocation.
|
||||
static unsigned
|
||||
RelocSymbol32(const ELFRel &rel)
|
||||
{
|
||||
|
@ -361,7 +361,7 @@ struct ELFRel
|
|||
}
|
||||
|
||||
/// Returns the symbol index when the given entry represents a 64-bit
|
||||
/// reloction.
|
||||
/// relocation.
|
||||
static unsigned
|
||||
RelocSymbol64(const ELFRel &rel)
|
||||
{
|
||||
|
@ -412,7 +412,7 @@ struct ELFRela
|
|||
}
|
||||
|
||||
/// Returns the symbol index when the given entry represents a 32-bit
|
||||
/// reloction.
|
||||
/// relocation.
|
||||
static unsigned
|
||||
RelocSymbol32(const ELFRela &rela)
|
||||
{
|
||||
|
@ -420,7 +420,7 @@ struct ELFRela
|
|||
}
|
||||
|
||||
/// Returns the symbol index when the given entry represents a 64-bit
|
||||
/// reloction.
|
||||
/// relocation.
|
||||
static unsigned
|
||||
RelocSymbol64(const ELFRela &rela)
|
||||
{
|
||||
|
|
|
@ -752,7 +752,7 @@ ObjectFilePECOFF::CreateSections (SectionList &unified_section_list)
|
|||
m_coff_header_opt.image_base + m_sect_headers[idx].vmaddr, // File VM address == addresses as they are found in the object file
|
||||
m_sect_headers[idx].vmsize, // VM size in bytes of this section
|
||||
m_sect_headers[idx].offset, // Offset to the data for this section in the file
|
||||
m_sect_headers[idx].size, // Size in bytes of this section as found in the the file
|
||||
m_sect_headers[idx].size, // Size in bytes of this section as found in the file
|
||||
m_coff_header_opt.sect_alignment, // Section alignment
|
||||
m_sect_headers[idx].flags)); // Flags for this section
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#ifndef lldb_ARMDefines_h_
|
||||
#define lldb_ARMDefines_h_
|
||||
|
||||
// Common defintions for the ARM/Thumb Instruction Set Architecture.
|
||||
// Common definitions for the ARM/Thumb Instruction Set Architecture.
|
||||
|
||||
namespace lldb_private {
|
||||
|
||||
|
|
|
@ -316,7 +316,7 @@ static inline uint32_t ARMExpandImm(uint32_t opcode)
|
|||
// (imm32, carry_out) = ThumbExpandImm_C(imm12, carry_in)
|
||||
static inline uint32_t ThumbExpandImm_C(uint32_t opcode, uint32_t carry_in, uint32_t &carry_out)
|
||||
{
|
||||
uint32_t imm32; // the expaned result
|
||||
uint32_t imm32; // the expanded result
|
||||
const uint32_t i = bit(opcode, 26);
|
||||
const uint32_t imm3 = bits(opcode, 14, 12);
|
||||
const uint32_t abcdefgh = bits(opcode, 7, 0);
|
||||
|
|
|
@ -475,7 +475,7 @@ RegisterContextDarwin_arm::GetRegisterSet (size_t reg_set)
|
|||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions for 32 bit i386.
|
||||
// Register information definitions for 32 bit i386.
|
||||
//----------------------------------------------------------------------
|
||||
int
|
||||
RegisterContextDarwin_arm::GetSetForNativeRegNum (int reg)
|
||||
|
|
|
@ -537,7 +537,7 @@ RegisterContextDarwin_arm64::GetRegisterSet (size_t reg_set)
|
|||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions for arm64
|
||||
// Register information definitions for arm64
|
||||
//----------------------------------------------------------------------
|
||||
int
|
||||
RegisterContextDarwin_arm64::GetSetForNativeRegNum (int reg)
|
||||
|
|
|
@ -512,7 +512,7 @@ static dw_offset_t DumpCallback
|
|||
|
||||
// We have already found our DIE and are printing it's children. Obey
|
||||
// our recurse depth and return an invalid offset if we get done
|
||||
// dumping all the the children
|
||||
// dumping all of the children
|
||||
if (dumpInfo->recurse_depth == UINT32_MAX || curr_depth <= dumpInfo->found_depth + dumpInfo->recurse_depth)
|
||||
die->Dump(dwarf2Data, cu, *s, 0);
|
||||
}
|
||||
|
|
|
@ -672,7 +672,7 @@ DWARFDebugLine::ParseStatementTable
|
|||
// The files are numbered, starting at 1, in the order in which they
|
||||
// appear; the names in the prologue come before names defined by
|
||||
// the DW_LNE_define_file instruction. These numbers are used in the
|
||||
// the file register of the state machine.
|
||||
// file register of the state machine.
|
||||
{
|
||||
FileNameEntry fileEntry;
|
||||
fileEntry.name = debug_line_data.GetCStr(offset_ptr);
|
||||
|
|
|
@ -143,7 +143,7 @@ DWARFDebugRanges::Dump(Stream &s, const DWARFDataExtractor& debug_ranges_data, l
|
|||
{
|
||||
dw_addr_t begin = debug_ranges_data.GetMaxU64(offset_ptr, addr_size);
|
||||
dw_addr_t end = debug_ranges_data.GetMaxU64(offset_ptr, addr_size);
|
||||
// Extend 4 byte addresses that consits of 32 bits of 1's to be 64 bits
|
||||
// Extend 4 byte addresses that consists of 32 bits of 1's to be 64 bits
|
||||
// of ones
|
||||
if (begin == 0xFFFFFFFFull && addr_size == 4)
|
||||
begin = LLDB_INVALID_ADDRESS;
|
||||
|
|
|
@ -78,7 +78,7 @@ DWARFDeclContext::operator==(const DWARFDeclContext& rhs) const
|
|||
collection::const_iterator rhs_begin = rhs.m_entries.begin();
|
||||
// The two entry arrays have the same size
|
||||
|
||||
// First compare the tags before we do expensize name compares
|
||||
// First compare the tags before we do expensive name compares
|
||||
for (pos = begin, rhs_pos = rhs_begin; pos != end; ++pos, ++rhs_pos)
|
||||
{
|
||||
if (pos->tag != rhs_pos->tag)
|
||||
|
|
|
@ -133,7 +133,7 @@ DWARFFormValue::ExtractValue(const DWARFDataExtractor& data, lldb::offset_t* off
|
|||
case DW_FORM_data8: m_value.value.uval = data.GetU64(offset_ptr); break;
|
||||
case DW_FORM_string: m_value.value.cstr = data.GetCStr(offset_ptr);
|
||||
// Set the string value to also be the data for inlined cstr form values only
|
||||
// so we can tell the differnence between DW_FORM_string and DW_FORM_strp form
|
||||
// so we can tell the difference between DW_FORM_string and DW_FORM_strp form
|
||||
// values;
|
||||
m_value.data = (uint8_t*)m_value.value.cstr; break;
|
||||
case DW_FORM_exprloc:
|
||||
|
|
|
@ -465,7 +465,7 @@ struct DWARFMappedHash
|
|||
break;
|
||||
|
||||
default:
|
||||
// We can always skip atomes we don't know about
|
||||
// We can always skip atoms we don't know about
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -655,7 +655,7 @@ struct DWARFMappedHash
|
|||
if (count > 0 && m_data.ValidOffsetForDataOfSize (*hash_data_offset_ptr, min_total_hash_data_size))
|
||||
{
|
||||
// We have at least one HashData entry, and we have enough
|
||||
// data to parse at leats "count" HashData enties.
|
||||
// data to parse at least "count" HashData entries.
|
||||
|
||||
// First make sure the entire C string matches...
|
||||
const bool match = strcmp (name, strp_cstr) == 0;
|
||||
|
@ -678,7 +678,7 @@ struct DWARFMappedHash
|
|||
DIEInfo die_info;
|
||||
if (m_header.Read(m_data, hash_data_offset_ptr, die_info))
|
||||
{
|
||||
// Only happend the HashData if the string matched...
|
||||
// Only happened if the HashData of the string matched...
|
||||
if (match)
|
||||
pair.value.push_back (die_info);
|
||||
}
|
||||
|
@ -747,7 +747,7 @@ struct DWARFMappedHash
|
|||
DIEInfo die_info;
|
||||
if (m_header.Read(m_data, hash_data_offset_ptr, die_info))
|
||||
{
|
||||
// Only happend the HashData if the string matched...
|
||||
// Only happened if the HashData of the string matched...
|
||||
if (match)
|
||||
pair.value.push_back (die_info);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ using namespace lldb;
|
|||
using namespace lldb_private;
|
||||
|
||||
|
||||
// when the one and only logging channel is abled, then this will be non NULL.
|
||||
// when the one and only logging channel is enabled, then this will be non NULL.
|
||||
static LogChannelDWARF* g_log_channel = NULL;
|
||||
|
||||
LogChannelDWARF::LogChannelDWARF () :
|
||||
|
|
|
@ -1985,7 +1985,7 @@ SymbolFileDWARF::ParseChildMembers
|
|||
const uint64_t word_width = 32;
|
||||
|
||||
// Objective-C has invalid DW_AT_bit_offset values in older versions
|
||||
// of clang, so we have to be careful and only insert unnammed bitfields
|
||||
// of clang, so we have to be careful and only insert unnamed bitfields
|
||||
// if we have a new enough clang.
|
||||
bool detect_unnamed_bitfields = true;
|
||||
|
||||
|
@ -3081,7 +3081,7 @@ SymbolFileDWARF::DIEIsInNamespace (const ClangNamespaceDecl *namespace_decl,
|
|||
DWARFCompileUnit* cu,
|
||||
const DWARFDebugInfoEntry* die)
|
||||
{
|
||||
// No namespace specified, so the answesr i
|
||||
// No namespace specified, so the answer is
|
||||
if (namespace_decl == NULL)
|
||||
return true;
|
||||
|
||||
|
@ -6313,7 +6313,7 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
|
|||
{
|
||||
// Start the definition if the class is not objective C since
|
||||
// the underlying decls respond to isCompleteDefinition(). Objective
|
||||
// C decls dont' respond to isCompleteDefinition() so we can't
|
||||
// C decls don't respond to isCompleteDefinition() so we can't
|
||||
// start the declaration definition right away. For C++ class/union/structs
|
||||
// we want to start the definition in case the class is needed as the
|
||||
// declaration context for a contained class or type without the need
|
||||
|
|
|
@ -81,7 +81,7 @@ SymbolFileDWARFDebugMap::CompileUnitInfo::GetFileRangeMap(SymbolFileDWARFDebugMa
|
|||
///const uint32_t fun_resolve_flags = SymbolContext::Module | eSymbolContextCompUnit | eSymbolContextFunction;
|
||||
//SectionList *oso_sections = oso_objfile->Sections();
|
||||
// Now we need to make sections that map from zero based object
|
||||
// file addresses to where things eneded up in the main executable.
|
||||
// file addresses to where things ended up in the main executable.
|
||||
|
||||
assert (comp_unit_info->first_symbol_index != UINT32_MAX);
|
||||
// End index is one past the last valid symbol index
|
||||
|
@ -214,7 +214,7 @@ public:
|
|||
SymbolVendor* symbol_vendor = Module::GetSymbolVendor(can_create, feedback_strm);
|
||||
if (symbol_vendor)
|
||||
{
|
||||
// Set a a pointer to this class to set our OSO DWARF file know
|
||||
// Set a pointer to this class to set our OSO DWARF file know
|
||||
// that the DWARF is being used along with a debug map and that
|
||||
// it will have the remapped sections that we do below.
|
||||
SymbolFileDWARF *oso_symfile = SymbolFileDWARFDebugMap::GetSymbolFileAsSymbolFileDWARF(symbol_vendor->GetSymbolFile());
|
||||
|
|
|
@ -145,7 +145,7 @@ SymbolFileSymtab::GetNumCompileUnits()
|
|||
if (m_source_indexes.empty())
|
||||
return 0;
|
||||
|
||||
// If we have any source file symbols we will logically orgnize the object symbols
|
||||
// If we have any source file symbols we will logically organize the object symbols
|
||||
// using these.
|
||||
return m_source_indexes.size();
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ SectionLoadList::SetSectionLoadAddress (const lldb::SectionSP §ion, addr_t l
|
|||
{
|
||||
// Some sections are ok to overlap, and for others we should warn. When
|
||||
// we have multiple load addresses that correspond to a section, we will
|
||||
// allways attribute the section to the be last section that claims it
|
||||
// always attribute the section to the be last section that claims it
|
||||
// exists at that address. Sometimes it is ok for more that one section
|
||||
// to be loaded at a specific load address, and other times it isn't.
|
||||
// The "warn_multiple" parameter tells us if we should warn in this case
|
||||
|
|
|
@ -360,7 +360,7 @@ StackFrame::GetSymbolContext (uint32_t resolve_scope)
|
|||
}
|
||||
|
||||
|
||||
// Resolve our PC to section offset if we haven't alreday done so
|
||||
// Resolve our PC to section offset if we haven't already done so
|
||||
// and if we don't have a module. The resolved address section will
|
||||
// contain the module to which it belongs
|
||||
if (!m_sc.module_sp && m_flags.IsClear(RESOLVED_FRAME_CODE_ADDR))
|
||||
|
|
|
@ -269,7 +269,7 @@ StackFrameList::GetFramesUpTo(uint32_t end_idx)
|
|||
StreamFile s(stdout, false);
|
||||
#endif
|
||||
// If we are hiding some frames from the outside world, we need to add those onto the total count of
|
||||
// frames to fetch. However, we don't need ot do that if end_idx is 0 since in that case we always
|
||||
// frames to fetch. However, we don't need to do that if end_idx is 0 since in that case we always
|
||||
// get the first concrete frame and all the inlined frames below it... And of course, if end_idx is
|
||||
// UINT32_MAX that means get all, so just do that...
|
||||
|
||||
|
|
|
@ -533,7 +533,7 @@ class MultiResponseGdbRemoteEntry(GdbRemoteEntryBase):
|
|||
|
||||
save_key: required. Specifies the key within the context where an array will be stored.
|
||||
Each packet received from the gdb remote that does not match the end_regex will get
|
||||
appended ot the array stored within the context at that key.
|
||||
appended to the array stored within the context at that key.
|
||||
|
||||
runaway_response_count: optional. Defaults to 10000. If this many responses are retrieved,
|
||||
assume there is something wrong with either the response collection or the ending
|
||||
|
|
|
@ -321,7 +321,7 @@ nub_process_t
|
|||
DNBProcessLaunch (const char *path,
|
||||
char const *argv[],
|
||||
const char *envp[],
|
||||
const char *working_directory, // NULL => dont' change, non-NULL => set working directory for inferior to this
|
||||
const char *working_directory, // NULL => don't change, non-NULL => set working directory for inferior to this
|
||||
const char *stdin_path,
|
||||
const char *stdout_path,
|
||||
const char *stderr_path,
|
||||
|
@ -1560,13 +1560,13 @@ DNBPrintf (nub_process_t pid, nub_thread_t tid, nub_addr_t base_addr, FILE *file
|
|||
case 'a': // Print the current address
|
||||
++f;
|
||||
fprintf_format += "ll";
|
||||
fprintf_format += *f; // actual format to show address with folows the 'a' ("%_ax")
|
||||
fprintf_format += *f; // actual format to show address with follows the 'a' ("%_ax")
|
||||
fprintf (file, fprintf_format.c_str(), addr);
|
||||
break;
|
||||
case 'o': // offset from base address
|
||||
++f;
|
||||
fprintf_format += "ll";
|
||||
fprintf_format += *f; // actual format to show address with folows the 'a' ("%_ox")
|
||||
fprintf_format += *f; // actual format to show address with follows the 'a' ("%_ox")
|
||||
fprintf(file, fprintf_format.c_str(), addr - base_addr);
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -39,7 +39,7 @@ nub_bool_t DNBSetArchitecture (const char *arch);
|
|||
nub_process_t DNBProcessLaunch (const char *path,
|
||||
char const *argv[],
|
||||
const char *envp[],
|
||||
const char *working_directory, // NULL => dont' change, non-NULL => set working directory for inferior to this
|
||||
const char *working_directory, // NULL => don't change, non-NULL => set working directory for inferior to this
|
||||
const char *stdin_path,
|
||||
const char *stdout_path,
|
||||
const char *stderr_path,
|
||||
|
|
|
@ -1954,7 +1954,7 @@ MachProcess::LaunchForDebug
|
|||
const char *path,
|
||||
char const *argv[],
|
||||
char const *envp[],
|
||||
const char *working_directory, // NULL => dont' change, non-NULL => set working directory for inferior to this
|
||||
const char *working_directory, // NULL => don't change, non-NULL => set working directory for inferior to this
|
||||
const char *stdin_path,
|
||||
const char *stdout_path,
|
||||
const char *stderr_path,
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#define BAS_IMVA_2_3 ((uint32_t)(3u << 7))
|
||||
#define BAS_IMVA_ALL ((uint32_t)(0xfu << 5))
|
||||
|
||||
// Break only in priveleged or user mode
|
||||
// Break only in privileged or user mode
|
||||
#define S_RSVD ((uint32_t)(0u << 1))
|
||||
#define S_PRIV ((uint32_t)(1u << 1))
|
||||
#define S_USER ((uint32_t)(2u << 1))
|
||||
|
@ -1251,7 +1251,7 @@ DNBArchMachARM::GetWatchAddress(const DBG &debug_state, uint32_t hw_index)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions for 32 bit ARMV7.
|
||||
// Register information definitions for 32 bit ARMV7.
|
||||
//----------------------------------------------------------------------
|
||||
enum gpr_regnums
|
||||
{
|
||||
|
|
|
@ -948,7 +948,7 @@ DNBArchMachARM64::GetWatchAddress(const DBG &debug_state, uint32_t hw_index)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions for 64 bit ARMv8.
|
||||
// Register information definitions for 64 bit ARMv8.
|
||||
//----------------------------------------------------------------------
|
||||
enum gpr_regnums
|
||||
{
|
||||
|
@ -1405,7 +1405,7 @@ DNBArchMachARM64::g_gpr_registers[] =
|
|||
DEFINE_GPR_NAME (pc, NULL, GENERIC_REGNUM_PC),
|
||||
|
||||
// in armv7 we specify that writing to the CPSR should invalidate r8-12, sp, lr.
|
||||
// this should be spcified for arm64 too even though debugserver is only used for
|
||||
// this should be specified for arm64 too even though debugserver is only used for
|
||||
// userland debugging.
|
||||
{ e_regSetGPR, gpr_cpsr, "cpsr", "flags", Uint, Hex, 4, GPR_OFFSET_NAME(cpsr), dwarf_elr_mode, dwarf_elr_mode, INVALID_NUB_REGNUM, gdb_gpr_cpsr, NULL, NULL },
|
||||
|
||||
|
|
|
@ -809,7 +809,7 @@ DNBArchImplI386::IsWatchpointVacant(const DBG &debug_state, uint32_t hw_index)
|
|||
return (debug_state.__dr7 & (3 << (2*hw_index))) == 0;
|
||||
}
|
||||
|
||||
// Resets local copy of debug status register to wait for the next debug excpetion.
|
||||
// Resets local copy of debug status register to wait for the next debug exception.
|
||||
void
|
||||
DNBArchImplI386::ClearWatchpointHits(DBG &debug_state)
|
||||
{
|
||||
|
@ -1012,7 +1012,7 @@ DNBArchImplI386::EnableHardwareSingleStep (bool enable)
|
|||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions
|
||||
// Register information definitions
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
#define DEFINE_GPR_PSEUDO_16(reg16,reg32) { e_regSetGPR, gpr_##reg16, #reg16, NULL, Uint, Hex, 2, 0,INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, INVALID_NUB_REGNUM, g_contained_##reg32, g_invalidate_##reg32 }
|
||||
|
|
|
@ -204,7 +204,7 @@ DNBArchMachPPC::EnableHardwareSingleStep (bool enable)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions for 32 bit PowerPC.
|
||||
// Register information definitions for 32 bit PowerPC.
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
enum gpr_regnums
|
||||
|
|
|
@ -759,7 +759,7 @@ DNBArchImplX86_64::IsWatchpointVacant(const DBG &debug_state, uint32_t hw_index)
|
|||
return (debug_state.__dr7 & (3 << (2*hw_index))) == 0;
|
||||
}
|
||||
|
||||
// Resets local copy of debug status register to wait for the next debug excpetion.
|
||||
// Resets local copy of debug status register to wait for the next debug exception.
|
||||
void
|
||||
DNBArchImplX86_64::ClearWatchpointHits(DBG &debug_state)
|
||||
{
|
||||
|
@ -963,7 +963,7 @@ DNBArchImplX86_64::EnableHardwareSingleStep (bool enable)
|
|||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Register information defintions
|
||||
// Register information definitions
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
enum
|
||||
|
|
Loading…
Reference in New Issue