diff options
Diffstat (limited to 'src/client/linux/minidump_writer/minidump_writer.cc')
-rw-r--r-- | src/client/linux/minidump_writer/minidump_writer.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc index a99309f3..10041f77 100644 --- a/src/client/linux/minidump_writer/minidump_writer.cc +++ b/src/client/linux/minidump_writer/minidump_writer.cc @@ -248,21 +248,21 @@ static void CPUFillFromThreadInfo(MDRawContextAMD64 *out, out->flt_save.control_word = info.fpregs.cwd; out->flt_save.status_word = info.fpregs.swd; - out->flt_save.tag_word = info.fpregs.twd; + out->flt_save.tag_word = info.fpregs.ftw; out->flt_save.error_opcode = info.fpregs.fop; out->flt_save.error_offset = info.fpregs.rip; out->flt_save.error_selector = 0; // We don't have this. out->flt_save.data_offset = info.fpregs.rdp; out->flt_save.data_selector = 0; // We don't have this. out->flt_save.mx_csr = info.fpregs.mxcsr; - out->flt_save.mx_csr_mask = info.fpregs.mxcsr_mask; + out->flt_save.mx_csr_mask = info.fpregs.mxcr_mask; memcpy(&out->flt_save.float_registers, &info.fpregs.st_space, 8 * 16); memcpy(&out->flt_save.xmm_registers, &info.fpregs.xmm_space, 16 * 16); } static void CPUFillFromUContext(MDRawContextAMD64 *out, const ucontext *uc, const struct _libc_fpstate* fpregs) { - const greg_t* regs = uc->gregs; + const greg_t* regs = uc->uc_mcontext.gregs; out->context_flags = MD_CONTEXT_AMD64_FULL; @@ -302,7 +302,7 @@ static void CPUFillFromUContext(MDRawContextAMD64 *out, const ucontext *uc, out->flt_save.error_selector = 0; // We don't have this. out->flt_save.data_selector = 0; // We don't have this. out->flt_save.mx_csr = fpregs->mxcsr; - out->flt_save.mx_csr_mask = fpregs->mxcsr_mask; + out->flt_save.mx_csr_mask = fpregs->mxcr_mask; memcpy(&out->flt_save.float_registers, &fpregs->_st, 8 * 16); memcpy(&out->flt_save.xmm_registers, &fpregs->_xmm, 16 * 16); } @@ -510,7 +510,7 @@ class MinidumpWriter { } TypedMDRVA<uint32_t> list(&minidump_writer_); - if (!list.AllocateObjectAndArray(num_output_mappings, sizeof(MDRawModule))) + if (!list.AllocateObjectAndArray(num_output_mappings, MD_MODULE_SIZE)) return false; dirent->stream_type = MD_MODULE_LIST_STREAM; @@ -523,7 +523,7 @@ class MinidumpWriter { continue; MDRawModule mod; - my_memset(&mod, 0, sizeof(mod)); + my_memset(&mod, 0, MD_MODULE_SIZE); mod.base_of_image = mapping.start_addr; mod.size_of_image = mapping.size; const size_t filepath_len = my_strlen(mapping.name); @@ -579,7 +579,7 @@ class MinidumpWriter { return false; mod.module_name_rva = ld.rva; - list.CopyIndexAfterObject(j++, &mod, sizeof(mod)); + list.CopyIndexAfterObject(j++, &mod, MD_MODULE_SIZE); } return true; @@ -650,7 +650,7 @@ class MinidumpWriter { { "processor", -1, false }, { "model", 0, false }, { "stepping", 0, false }, - { "cpuid level", 0, false }, + { "cpu family", 0, false }, }; // processor_architecture should always be set, do this first |