diff options
Diffstat (limited to 'lldb/source/Plugins/ObjectFile')
8 files changed, 105 insertions, 97 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp index bfff9f3336e..d9cac0d06b3 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp @@ -23,20 +23,24 @@ using namespace llvm::ELF; // GetMaxU64 and GetMaxS64 wrap the similarly named methods from DataExtractor // with error handling code and provide for parsing a sequence of values. static bool -GetMaxU64(const lldb_private::DataExtractor &data, - uint32_t *offset, uint64_t *value, uint32_t byte_size) +GetMaxU64(const lldb_private::DataExtractor &data, + lldb::offset_t *offset, + uint64_t *value, + uint32_t byte_size) { - const uint32_t saved_offset = *offset; + const lldb::offset_t saved_offset = *offset; *value = data.GetMaxU64(offset, byte_size); return *offset != saved_offset; } static bool GetMaxU64(const lldb_private::DataExtractor &data, - uint32_t *offset, uint64_t *value, uint32_t byte_size, + lldb::offset_t *offset, + uint64_t *value, + uint32_t byte_size, uint32_t count) { - uint32_t saved_offset = *offset; + lldb::offset_t saved_offset = *offset; for (uint32_t i = 0; i < count; ++i, ++value) { @@ -51,19 +55,23 @@ GetMaxU64(const lldb_private::DataExtractor &data, static bool GetMaxS64(const lldb_private::DataExtractor &data, - uint32_t *offset, int64_t *value, uint32_t byte_size) + lldb::offset_t *offset, + int64_t *value, + uint32_t byte_size) { - const uint32_t saved_offset = *offset; + const lldb::offset_t saved_offset = *offset; *value = data.GetMaxS64(offset, byte_size); return *offset != saved_offset; } static bool GetMaxS64(const lldb_private::DataExtractor &data, - uint32_t *offset, int64_t *value, uint32_t byte_size, + lldb::offset_t *offset, + int64_t *value, + uint32_t byte_size, uint32_t count) { - uint32_t saved_offset = *offset; + lldb::offset_t saved_offset = *offset; for (uint32_t i = 0; i < count; ++i, ++value) { @@ -95,7 +103,7 @@ ELFHeader::GetByteOrder() const } bool -ELFHeader::Parse(lldb_private::DataExtractor &data, uint32_t *offset) +ELFHeader::Parse(lldb_private::DataExtractor &data, lldb::offset_t *offset) { // Read e_ident. This provides byte order and address size info. if (data.GetU8(offset, &e_ident, EI_NIDENT) == NULL) @@ -190,7 +198,7 @@ ELFSectionHeader::ELFSectionHeader() bool ELFSectionHeader::Parse(const lldb_private::DataExtractor &data, - uint32_t *offset) + lldb::offset_t *offset) { const unsigned byte_size = data.GetAddressByteSize(); @@ -226,7 +234,7 @@ ELFSymbol::ELFSymbol() } bool -ELFSymbol::Parse(const lldb_private::DataExtractor &data, uint32_t *offset) +ELFSymbol::Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset) { const unsigned byte_size = data.GetAddressByteSize(); const bool parsing_32 = byte_size == 4; @@ -276,7 +284,7 @@ ELFProgramHeader::ELFProgramHeader() bool ELFProgramHeader::Parse(const lldb_private::DataExtractor &data, - uint32_t *offset) + lldb::offset_t *offset) { const uint32_t byte_size = data.GetAddressByteSize(); const bool parsing_32 = byte_size == 4; @@ -320,7 +328,7 @@ ELFDynamic::ELFDynamic() } bool -ELFDynamic::Parse(const lldb_private::DataExtractor &data, uint32_t *offset) +ELFDynamic::Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset) { const unsigned byte_size = data.GetAddressByteSize(); return GetMaxS64(data, offset, &d_tag, byte_size, 2); @@ -335,7 +343,7 @@ ELFRel::ELFRel() } bool -ELFRel::Parse(const lldb_private::DataExtractor &data, uint32_t *offset) +ELFRel::Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset) { const unsigned byte_size = data.GetAddressByteSize(); @@ -355,7 +363,7 @@ ELFRela::ELFRela() } bool -ELFRela::Parse(const lldb_private::DataExtractor &data, uint32_t *offset) +ELFRela::Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset) { const unsigned byte_size = data.GetAddressByteSize(); diff --git a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h index 45798574ccc..77e5cda3980 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h @@ -123,7 +123,7 @@ struct ELFHeader /// True if the ELFSectionHeader was successfully read and false /// otherwise. bool - Parse(lldb_private::DataExtractor &data, uint32_t *offset); + Parse(lldb_private::DataExtractor &data, lldb::offset_t *offset); //-------------------------------------------------------------------------- /// Examines at most EI_NIDENT bytes starting from the given pointer and @@ -181,7 +181,7 @@ struct ELFSectionHeader /// True if the ELFSectionHeader was successfully read and false /// otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); }; //------------------------------------------------------------------------------ @@ -216,7 +216,7 @@ struct ELFProgramHeader /// True if the ELFProgramHeader was successfully read and false /// otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); }; //------------------------------------------------------------------------------ @@ -259,7 +259,7 @@ struct ELFSymbol /// @return /// True if the ELFSymbol was successfully read and false otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); }; //------------------------------------------------------------------------------ @@ -292,7 +292,7 @@ struct ELFDynamic /// True if the ELFDynamic entry was successfully read and false /// otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); }; //------------------------------------------------------------------------------ @@ -320,7 +320,7 @@ struct ELFRel /// @return /// True if the ELFRel entry was successfully read and false otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); /// Returns the type when the given entry represents a 32-bit relocation. static unsigned @@ -379,7 +379,7 @@ struct ELFRela /// @return /// True if the ELFRela entry was successfully read and false otherwise. bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); /// Returns the type when the given entry represents a 32-bit relocation. static unsigned diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index e357aff0e64..a430c264499 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -53,7 +53,7 @@ public: ~ELFRelocation(); bool - Parse(const lldb_private::DataExtractor &data, uint32_t *offset); + Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset); static unsigned RelocType32(const ELFRelocation &rel); @@ -94,7 +94,7 @@ ELFRelocation::~ELFRelocation() } bool -ELFRelocation::Parse(const lldb_private::DataExtractor &data, uint32_t *offset) +ELFRelocation::Parse(const lldb_private::DataExtractor &data, lldb::offset_t *offset) { if (reloc.is<ELFRel*>()) return reloc.get<ELFRel*>()->Parse(data, offset); @@ -270,28 +270,28 @@ ObjectFileELF::GetByteOrder() const return eByteOrderInvalid; } -size_t +uint32_t ObjectFileELF::GetAddressByteSize() const { return m_data.GetAddressByteSize(); } -unsigned +size_t ObjectFileELF::SectionIndex(const SectionHeaderCollIter &I) { - return std::distance(m_section_headers.begin(), I) + 1; + return std::distance(m_section_headers.begin(), I) + 1u; } -unsigned +size_t ObjectFileELF::SectionIndex(const SectionHeaderCollConstIter &I) const { - return std::distance(m_section_headers.begin(), I) + 1; + return std::distance(m_section_headers.begin(), I) + 1u; } bool ObjectFileELF::ParseHeader() { - uint32_t offset = GetOffset(); + lldb::offset_t offset = GetOffset(); return m_header.Parse(m_data, &offset); } @@ -445,8 +445,8 @@ ObjectFileELF::ParseDependentModules() ReadSectionData(dynstr, dynstr_data)) { ELFDynamic symbol; - const unsigned section_size = dynsym_data.GetByteSize(); - unsigned offset = 0; + const lldb::offset_t section_size = dynsym_data.GetByteSize(); + lldb::offset_t offset = 0; // The only type of entries we are concerned with are tagged DT_NEEDED, // yielding the name of a required library. @@ -492,7 +492,7 @@ ObjectFileELF::ParseProgramHeaders() return 0; uint32_t idx; - uint32_t offset; + lldb::offset_t offset; for (idx = 0, offset = 0; idx < m_header.e_phnum; ++idx) { if (m_program_headers[idx].Parse(data, &offset) == false) @@ -530,7 +530,7 @@ ObjectFileELF::ParseSectionHeaders() return 0; uint32_t idx; - uint32_t offset; + lldb::offset_t offset; for (idx = 0, offset = 0; idx < m_header.e_shnum; ++idx) { if (m_section_headers[idx].Parse(data, &offset) == false) @@ -698,9 +698,8 @@ ParseSymbols(Symtab *symtab, const DataExtractor &strtab_data) { ELFSymbol symbol; - uint32_t offset = 0; - const unsigned num_symbols = - symtab_data.GetByteSize() / symtab_shdr->sh_entsize; + lldb::offset_t offset = 0; + const size_t num_symbols = symtab_data.GetByteSize() / symtab_shdr->sh_entsize; static ConstString text_section_name(".text"); static ConstString init_section_name(".init"); @@ -877,8 +876,8 @@ ObjectFileELF::ParseDynamicSymbols() DataExtractor dynsym_data; if (ReadSectionData(dynsym, dynsym_data)) { - const unsigned section_size = dynsym_data.GetByteSize(); - unsigned cursor = 0; + const lldb::offset_t section_size = dynsym_data.GetByteSize(); + lldb::offset_t cursor = 0; while (cursor < section_size) { @@ -956,9 +955,9 @@ ParsePLTRelocations(Symtab *symbol_table, { ELFRelocation rel(rel_type); ELFSymbol symbol; - uint32_t offset = 0; - const unsigned plt_entsize = plt_hdr->sh_entsize; - const unsigned num_relocations = rel_hdr->sh_size / rel_hdr->sh_entsize; + lldb::offset_t offset = 0; + const elf_xword plt_entsize = plt_hdr->sh_entsize; + const elf_xword num_relocations = rel_hdr->sh_size / rel_hdr->sh_entsize; typedef unsigned (*reloc_info_fn)(const ELFRelocation &rel); reloc_info_fn reloc_type; @@ -985,7 +984,7 @@ ParsePLTRelocations(Symtab *symbol_table, if (reloc_type(rel) != slot_type) continue; - unsigned symbol_offset = reloc_symbol(rel) * sym_hdr->sh_entsize; + lldb::offset_t symbol_offset = reloc_symbol(rel) * sym_hdr->sh_entsize; uint64_t plt_index = (i + 1) * plt_entsize; if (!symbol.Parse(symtab_data, &symbol_offset)) @@ -1378,7 +1377,7 @@ ObjectFileELF::DumpELFSectionHeader_sh_type(Stream *s, elf_word sh_type) // Dump an token value for the ELF section header member sh_flags //---------------------------------------------------------------------- void -ObjectFileELF::DumpELFSectionHeader_sh_flags(Stream *s, elf_word sh_flags) +ObjectFileELF::DumpELFSectionHeader_sh_flags(Stream *s, elf_xword sh_flags) { *s << ((sh_flags & SHF_WRITE) ? "WRITE" : " ") << (((sh_flags & SHF_WRITE) && (sh_flags & SHF_ALLOC)) ? '+' : ' ') diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index 9bf6d734e11..f347c7b3118 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -84,7 +84,7 @@ public: virtual bool IsExecutable () const; - virtual size_t + virtual uint32_t GetAddressByteSize() const; virtual lldb_private::Symtab * @@ -168,11 +168,11 @@ private: lldb_private::Address m_entry_point_address; /// Returns a 1 based index of the given section header. - unsigned + size_t SectionIndex(const SectionHeaderCollIter &I); /// Returns a 1 based index of the given section header. - unsigned + size_t SectionIndex(const SectionHeaderCollConstIter &I) const; /// Parses all section headers present in this object file and populates @@ -282,7 +282,7 @@ private: static void DumpELFSectionHeader_sh_flags(lldb_private::Stream *s, - elf::elf_word sh_flags); + elf::elf_xword sh_flags); //@} /// ELF dependent module dump routine. diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp index 926f17f6648..ce47b58a461 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -58,7 +58,7 @@ public: void SetRegisterDataFrom_LC_THREAD (const DataExtractor &data) { - uint32_t offset = 0; + lldb::offset_t offset = 0; SetError (GPRRegSet, Read, -1); SetError (FPURegSet, Read, -1); SetError (EXCRegSet, Read, -1); @@ -166,7 +166,7 @@ public: void SetRegisterDataFrom_LC_THREAD (const DataExtractor &data) { - uint32_t offset = 0; + lldb::offset_t offset = 0; SetError (GPRRegSet, Read, -1); SetError (FPURegSet, Read, -1); SetError (EXCRegSet, Read, -1); @@ -273,7 +273,7 @@ public: void SetRegisterDataFrom_LC_THREAD (const DataExtractor &data) { - uint32_t offset = 0; + lldb::offset_t offset = 0; SetError (GPRRegSet, Read, -1); SetError (FPURegSet, Read, -1); SetError (EXCRegSet, Read, -1); @@ -472,7 +472,7 @@ ObjectFileMachO::MagicBytesMatch (DataBufferSP& data_sp, { DataExtractor data; data.SetData (data_sp, data_offset, data_length); - uint32_t offset = 0; + lldb::offset_t offset = 0; uint32_t magic = data.GetU32(&offset); return MachHeaderSizeFromMagic(magic) != 0; } @@ -522,7 +522,7 @@ ObjectFileMachO::ParseHeader () { lldb_private::Mutex::Locker locker(module_sp->GetMutex()); bool can_parse = false; - uint32_t offset = 0; + lldb::offset_t offset = 0; m_data.SetByteOrder (lldb::endian::InlHostByteOrder()); // Leave magic in the original byte order m_header.magic = m_data.GetU32(&offset); @@ -612,7 +612,7 @@ ObjectFileMachO::IsExecutable() const return m_header.filetype == HeaderFileTypeExecutable; } -size_t +uint32_t ObjectFileMachO::GetAddressByteSize () const { return m_data.GetAddressByteSize (); @@ -769,7 +769,7 @@ ObjectFileMachO::ParseSections () { lldb::user_id_t segID = 0; lldb::user_id_t sectID = 0; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); uint32_t i; const bool is_core = GetType() == eTypeCoreFile; //bool dump_sections = false; @@ -780,7 +780,7 @@ ObjectFileMachO::ParseSections () encryption_info_command encryption_cmd; for (i=0; i<m_header.ncmds; ++i) { - const uint32_t load_cmd_offset = offset; + const lldb::offset_t load_cmd_offset = offset; if (m_data.GetU32(&offset, &encryption_cmd, 2) == NULL) break; @@ -805,7 +805,7 @@ ObjectFileMachO::ParseSections () struct segment_command_64 load_cmd; for (i=0; i<m_header.ncmds; ++i) { - const uint32_t load_cmd_offset = offset; + const lldb::offset_t load_cmd_offset = offset; if (m_data.GetU32(&offset, &load_cmd, 2) == NULL) break; @@ -826,7 +826,7 @@ ObjectFileMachO::ParseSections () // get at data that isn't stored in the abstracted Sections. m_mach_segments.push_back (load_cmd); - ConstString segment_name (load_cmd.segname, std::min<int>(strlen(load_cmd.segname), sizeof(load_cmd.segname))); + ConstString segment_name (load_cmd.segname, std::min<size_t>(strlen(load_cmd.segname), sizeof(load_cmd.segname))); // Use a segment ID of the segment index shifted left by 8 so they // never conflict with any of the sections. SectionSP segment_sp; @@ -1209,14 +1209,14 @@ ObjectFileMachO::ParseSymtab (bool minimize) struct linkedit_data_command function_starts_load_command = { 0, 0, 0, 0 }; typedef AddressDataArray<lldb::addr_t, bool, 100> FunctionStarts; FunctionStarts function_starts; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); uint32_t i; LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_SYMBOLS)); for (i=0; i<m_header.ncmds; ++i) { - const uint32_t cmd_offset = offset; + const lldb::offset_t cmd_offset = offset; // Read in the load command and load command size struct load_command lc; if (m_data.GetU32(&offset, &lc, 2) == NULL) @@ -1282,13 +1282,14 @@ ObjectFileMachO::ParseSymtab (bool minimize) ProcessSP process_sp (m_process_wp.lock()); Process *process = process_sp.get(); - const size_t addr_byte_size = m_data.GetAddressByteSize(); + const uint32_t addr_byte_size = m_data.GetAddressByteSize(); + const ByteOrder byte_order = m_data.GetByteOrder(); bool bit_width_32 = addr_byte_size == 4; const size_t nlist_byte_size = bit_width_32 ? sizeof(struct nlist) : sizeof(struct nlist_64); - DataExtractor nlist_data (NULL, 0, m_data.GetByteOrder(), m_data.GetAddressByteSize()); - DataExtractor strtab_data (NULL, 0, m_data.GetByteOrder(), m_data.GetAddressByteSize()); - DataExtractor function_starts_data (NULL, 0, m_data.GetByteOrder(), m_data.GetAddressByteSize()); + DataExtractor nlist_data (NULL, 0, byte_order, addr_byte_size); + DataExtractor strtab_data (NULL, 0, byte_order, addr_byte_size); + DataExtractor function_starts_data (NULL, 0, byte_order, addr_byte_size); const addr_t nlist_data_byte_size = symtab_load_command.nsyms * nlist_byte_size; const addr_t strtab_data_byte_size = symtab_load_command.strsize; @@ -1420,7 +1421,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) { FunctionStarts::Entry function_start_entry; function_start_entry.data = false; - uint32_t function_start_offset = 0; + lldb::offset_t function_start_offset = 0; function_start_entry.addr = text_section_sp->GetFileAddress(); uint64_t delta; while ((delta = function_starts_data.GetULEB128(&function_start_offset)) > 0) @@ -1431,11 +1432,11 @@ ObjectFileMachO::ParseSymtab (bool minimize) } } - const uint32_t function_starts_count = function_starts.GetSize(); + const size_t function_starts_count = function_starts.GetSize(); - uint8_t TEXT_eh_frame_sectID = eh_frame_section_sp.get() ? eh_frame_section_sp->GetID() : NListSectionNoSection; + const user_id_t TEXT_eh_frame_sectID = eh_frame_section_sp.get() ? eh_frame_section_sp->GetID() : NListSectionNoSection; - uint32_t nlist_data_offset = 0; + lldb::offset_t nlist_data_offset = 0; uint32_t N_SO_index = UINT32_MAX; @@ -1457,7 +1458,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) uint32_t sym_idx = 0; Symbol *sym = NULL; - uint32_t num_syms = 0; + size_t num_syms = 0; std::string memory_symbol_name; uint32_t unmapped_local_symbols_found = 0; @@ -1547,7 +1548,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) if (DataBufferSP dsc_data_sp = dsc_filespec.MemoryMapFileContents(0, sizeof(struct lldb_copy_dyld_cache_header))) { - DataExtractor dsc_header_data(dsc_data_sp, m_data.GetByteOrder(), m_data.GetAddressByteSize()); + DataExtractor dsc_header_data(dsc_data_sp, byte_order, addr_byte_size); uint32_t offset = offsetof (struct lldb_copy_dyld_cache_header, mappingOffset); uint32_t mappingOffset = dsc_header_data.GetU32(&offset); @@ -1566,7 +1567,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) // Map the local symbols if (DataBufferSP dsc_local_symbols_data_sp = dsc_filespec.MemoryMapFileContents(localSymbolsOffset, localSymbolsSize)) { - DataExtractor dsc_local_symbols_data(dsc_local_symbols_data_sp, m_data.GetByteOrder(), m_data.GetAddressByteSize()); + DataExtractor dsc_local_symbols_data(dsc_local_symbols_data_sp, byte_order, addr_byte_size); offset = 0; @@ -2382,7 +2383,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) const char *symbol_name_non_abi_mangled = NULL; SectionSP symbol_section; - uint32_t symbol_byte_size = 0; + lldb::addr_t symbol_byte_size = 0; bool add_nlist = true; bool is_debug = ((nlist.n_type & NlistMaskStab) != 0); bool demangled_is_synthesized = false; @@ -3191,7 +3192,7 @@ ObjectFileMachO::ParseSymtab (bool minimize) { const uint32_t symbol_stub_index = symbol_stub_index_offset + stub_idx; const lldb::addr_t symbol_stub_addr = m_mach_sections[sect_idx].addr + (stub_idx * symbol_stub_byte_size); - uint32_t symbol_stub_offset = symbol_stub_index * 4; + lldb::offset_t symbol_stub_offset = symbol_stub_index * 4; if (indirect_symbol_index_data.ValidOffsetForDataOfSize(symbol_stub_offset, 4)) { const uint32_t stub_sym_id = indirect_symbol_index_data.GetU32 (&symbol_stub_offset); @@ -3299,11 +3300,11 @@ ObjectFileMachO::GetUUID (lldb_private::UUID* uuid) { lldb_private::Mutex::Locker locker(module_sp->GetMutex()); struct uuid_command load_cmd; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); uint32_t i; for (i=0; i<m_header.ncmds; ++i) { - const uint32_t cmd_offset = offset; + const lldb::offset_t cmd_offset = offset; if (m_data.GetU32(&offset, &load_cmd, 2) == NULL) break; @@ -3346,7 +3347,7 @@ ObjectFileMachO::GetDependentModules (FileSpecList& files) { lldb_private::Mutex::Locker locker(module_sp->GetMutex()); struct load_command load_cmd; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); const bool resolve_path = false; // Don't resolve the dependend file paths since they may not reside on this system uint32_t i; for (i=0; i<m_header.ncmds; ++i) @@ -3419,14 +3420,14 @@ ObjectFileMachO::GetEntryPointAddress () { lldb_private::Mutex::Locker locker(module_sp->GetMutex()); struct load_command load_cmd; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); uint32_t i; lldb::addr_t start_address = LLDB_INVALID_ADDRESS; bool done = false; for (i=0; i<m_header.ncmds; ++i) { - const uint32_t cmd_offset = offset; + const lldb::offset_t cmd_offset = offset; if (m_data.GetU32(&offset, &load_cmd, 2) == NULL) break; @@ -3563,7 +3564,7 @@ ObjectFileMachO::GetNumThreadContexts () if (!m_thread_context_offsets_valid) { m_thread_context_offsets_valid = true; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); FileRangeArray::Entry file_range; thread_command thread_cmd; for (uint32_t i=0; i<m_header.ncmds; ++i) @@ -3729,13 +3730,13 @@ ObjectFileMachO::GetVersion (uint32_t *versions, uint32_t num_versions) { lldb_private::Mutex::Locker locker(module_sp->GetMutex()); struct dylib_command load_cmd; - uint32_t offset = MachHeaderSizeFromMagic(m_header.magic); + lldb::offset_t offset = MachHeaderSizeFromMagic(m_header.magic); uint32_t version_cmd = 0; uint64_t version = 0; uint32_t i; for (i=0; i<m_header.ncmds; ++i) { - const uint32_t cmd_offset = offset; + const lldb::offset_t cmd_offset = offset; if (m_data.GetU32(&offset, &load_cmd, 2) == NULL) break; diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h index e6a4931de1d..6075bb53782 100644 --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h @@ -85,7 +85,7 @@ public: virtual bool IsExecutable () const; - virtual size_t + virtual uint32_t GetAddressByteSize () const; virtual lldb::AddressClass diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp index 8447a88d1dc..6bfe69503e9 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -169,7 +169,7 @@ bool ObjectFilePECOFF::MagicBytesMatch (DataBufferSP& dataSP) { DataExtractor data(dataSP, eByteOrderLittle, 4); - uint32_t offset = 0; + lldb::offset_t offset = 0; uint16_t magic = data.GetU16 (&offset); return magic == IMAGE_DOS_SIGNATURE; } @@ -206,7 +206,7 @@ ObjectFilePECOFF::ParseHeader () lldb_private::Mutex::Locker locker(module_sp->GetMutex()); m_sect_headers.clear(); m_data.SetByteOrder (eByteOrderLittle); - uint32_t offset = 0; + lldb::offset_t offset = 0; if (ParseDOSHeader()) { @@ -239,7 +239,7 @@ ObjectFilePECOFF::IsExecutable() const return (m_coff_header.flags & IMAGE_FILE_DLL) == 0; } -size_t +uint32_t ObjectFilePECOFF::GetAddressByteSize () const { if (m_coff_header_opt.magic == OPT_HEADER_MAGIC_PE32_PLUS) @@ -271,7 +271,7 @@ bool ObjectFilePECOFF::ParseDOSHeader () { bool success = false; - uint32_t offset = 0; + lldb::offset_t offset = 0; success = m_data.ValidOffsetForDataOfSize(0, sizeof(m_dos_header)); if (success) @@ -326,7 +326,7 @@ ObjectFilePECOFF::ParseDOSHeader () // ParserCOFFHeader //---------------------------------------------------------------------- bool -ObjectFilePECOFF::ParseCOFFHeader(uint32_t* offset_ptr) +ObjectFilePECOFF::ParseCOFFHeader(lldb::offset_t *offset_ptr) { bool success = m_data.ValidOffsetForDataOfSize (*offset_ptr, sizeof(m_coff_header)); if (success) @@ -345,10 +345,10 @@ ObjectFilePECOFF::ParseCOFFHeader(uint32_t* offset_ptr) } bool -ObjectFilePECOFF::ParseCOFFOptionalHeader(uint32_t* offset_ptr) +ObjectFilePECOFF::ParseCOFFOptionalHeader(lldb::offset_t *offset_ptr) { bool success = false; - const uint32_t end_offset = *offset_ptr + m_coff_header.hdrsize; + const lldb::offset_t end_offset = *offset_ptr + m_coff_header.hdrsize; if (*offset_ptr < end_offset) { success = true; @@ -429,7 +429,7 @@ ObjectFilePECOFF::ParseSectionHeaders (uint32_t section_header_data_offset) DataBufferSP section_header_data_sp(m_file.ReadFileContents (section_header_data_offset, section_header_byte_size)); DataExtractor section_header_data (section_header_data_sp, GetByteOrder(), addr_byte_size); - uint32_t offset = 0; + lldb::offset_t offset = 0; if (section_header_data.ValidOffsetForDataOfSize (offset, section_header_byte_size)) { m_sect_headers.resize(nsects); @@ -462,8 +462,8 @@ ObjectFilePECOFF::GetSectionName(std::string& sect_name, const section_header_t& { if (sect.name[0] == '/') { - uint32_t stroff = strtoul(§.name[1], NULL, 10); - uint32_t string_file_offset = m_coff_header.symoff + (m_coff_header.nsyms * 18) + stroff; + lldb::offset_t stroff = strtoul(§.name[1], NULL, 10); + lldb::offset_t string_file_offset = m_coff_header.symoff + (m_coff_header.nsyms * 18) + stroff; const char *name = m_data.GetCStr (&string_file_offset); if (name) { @@ -503,7 +503,7 @@ ObjectFilePECOFF::GetSymtab() // Include the 4 bytes string table size at the end of the symbols DataBufferSP symtab_data_sp(m_file.ReadFileContents (m_coff_header.symoff, symbol_data_size + 4)); DataExtractor symtab_data (symtab_data_sp, GetByteOrder(), addr_byte_size); - uint32_t offset = symbol_data_size; + lldb::offset_t offset = symbol_data_size; const uint32_t strtab_size = symtab_data.GetU32 (&offset); DataBufferSP strtab_data_sp(m_file.ReadFileContents (m_coff_header.symoff + symbol_data_size + 4, strtab_size)); DataExtractor strtab_data (strtab_data_sp, GetByteOrder(), addr_byte_size); diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h index 2e41ce4ff2b..446999c6c84 100644 --- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h +++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h @@ -68,7 +68,7 @@ public: virtual bool IsExecutable () const; - virtual size_t + virtual uint32_t GetAddressByteSize () const; // virtual lldb_private::AddressClass @@ -212,8 +212,8 @@ protected: } coff_symbol_t; bool ParseDOSHeader (); - bool ParseCOFFHeader (uint32_t* offset_ptr); - bool ParseCOFFOptionalHeader (uint32_t* offset_ptr); + bool ParseCOFFHeader (lldb::offset_t *offset_ptr); + bool ParseCOFFOptionalHeader (lldb::offset_t *offset_ptr); bool ParseSectionHeaders (uint32_t offset); static void DumpDOSHeader(lldb_private::Stream *s, const dos_header_t& header); |