mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2025-07-16 21:37:41 +00:00
More fixes following r862.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@865 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
6e91e4a8fb
commit
7e5c7d7c21
|
@ -226,7 +226,7 @@ class DumperLineToModule: public DwarfCUToModule::LineToModuleFunctor {
|
||||||
explicit DumperLineToModule(dwarf2reader::ByteReader *byte_reader)
|
explicit DumperLineToModule(dwarf2reader::ByteReader *byte_reader)
|
||||||
: byte_reader_(byte_reader) { }
|
: byte_reader_(byte_reader) { }
|
||||||
void operator()(const char *program, uint64 length,
|
void operator()(const char *program, uint64 length,
|
||||||
Module *module, vector<Module::Line> *lines) {
|
Module *module, std::vector<Module::Line> *lines) {
|
||||||
DwarfLineToModule handler(module, lines);
|
DwarfLineToModule handler(module, lines);
|
||||||
dwarf2reader::LineInfo parser(program, length, byte_reader_, &handler);
|
dwarf2reader::LineInfo parser(program, length, byte_reader_, &handler);
|
||||||
parser.Start();
|
parser.Start();
|
||||||
|
@ -235,7 +235,7 @@ class DumperLineToModule: public DwarfCUToModule::LineToModuleFunctor {
|
||||||
dwarf2reader::ByteReader *byte_reader_;
|
dwarf2reader::ByteReader *byte_reader_;
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool LoadDwarf(const string &dwarf_filename,
|
static bool LoadDwarf(const std::string &dwarf_filename,
|
||||||
const ElfW(Ehdr) *elf_header,
|
const ElfW(Ehdr) *elf_header,
|
||||||
const bool big_endian,
|
const bool big_endian,
|
||||||
Module *module) {
|
Module *module) {
|
||||||
|
@ -253,7 +253,7 @@ static bool LoadDwarf(const string &dwarf_filename,
|
||||||
const ElfW(Shdr) *section_names = sections + elf_header->e_shstrndx;
|
const ElfW(Shdr) *section_names = sections + elf_header->e_shstrndx;
|
||||||
for (int i = 0; i < num_sections; i++) {
|
for (int i = 0; i < num_sections; i++) {
|
||||||
const ElfW(Shdr) *section = §ions[i];
|
const ElfW(Shdr) *section = §ions[i];
|
||||||
string name = reinterpret_cast<const char *>(section_names->sh_offset
|
std::string name = reinterpret_cast<const char *>(section_names->sh_offset
|
||||||
+ section->sh_name);
|
+ section->sh_name);
|
||||||
const char *contents = reinterpret_cast<const char *>(section->sh_offset);
|
const char *contents = reinterpret_cast<const char *>(section->sh_offset);
|
||||||
uint64 length = section->sh_size;
|
uint64 length = section->sh_size;
|
||||||
|
@ -292,7 +292,7 @@ static bool LoadDwarf(const string &dwarf_filename,
|
||||||
// success, or false if we don't recognize HEADER's machine
|
// success, or false if we don't recognize HEADER's machine
|
||||||
// architecture.
|
// architecture.
|
||||||
static bool DwarfCFIRegisterNames(const ElfW(Ehdr) *elf_header,
|
static bool DwarfCFIRegisterNames(const ElfW(Ehdr) *elf_header,
|
||||||
vector<string> *register_names) {
|
std::vector<std::string> *register_names) {
|
||||||
switch (elf_header->e_machine) {
|
switch (elf_header->e_machine) {
|
||||||
case EM_386:
|
case EM_386:
|
||||||
*register_names = DwarfCFIToModule::RegisterNames::I386();
|
*register_names = DwarfCFIToModule::RegisterNames::I386();
|
||||||
|
@ -308,7 +308,7 @@ static bool DwarfCFIRegisterNames(const ElfW(Ehdr) *elf_header,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool LoadDwarfCFI(const string &dwarf_filename,
|
static bool LoadDwarfCFI(const std::string &dwarf_filename,
|
||||||
const ElfW(Ehdr) *elf_header,
|
const ElfW(Ehdr) *elf_header,
|
||||||
const char *section_name,
|
const char *section_name,
|
||||||
const ElfW(Shdr) *section,
|
const ElfW(Shdr) *section,
|
||||||
|
@ -319,7 +319,7 @@ static bool LoadDwarfCFI(const string &dwarf_filename,
|
||||||
Module *module) {
|
Module *module) {
|
||||||
// Find the appropriate set of register names for this file's
|
// Find the appropriate set of register names for this file's
|
||||||
// architecture.
|
// architecture.
|
||||||
vector<string> register_names;
|
std::vector<std::string> register_names;
|
||||||
if (!DwarfCFIRegisterNames(elf_header, ®ister_names)) {
|
if (!DwarfCFIRegisterNames(elf_header, ®ister_names)) {
|
||||||
fprintf(stderr, "%s: unrecognized ELF machine architecture '%d';"
|
fprintf(stderr, "%s: unrecognized ELF machine architecture '%d';"
|
||||||
" cannot convert DWARF call frame information\n",
|
" cannot convert DWARF call frame information\n",
|
||||||
|
|
Loading…
Reference in a new issue