Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1001)

Unified Diff: third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc

Issue 2555353002: Update Crashpad to 32981a3ee9d7c2769fb27afa038fe2e194cfa329 (Closed)
Patch Set: fix readme Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
diff --git a/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc b/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
index 066363cb990709b51b218ea3a892c79f15dd0734..9c665f4fa675247689fa39e4fdd11ea6bbf836df 100644
--- a/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
+++ b/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
@@ -20,6 +20,7 @@
#include "minidump/minidump_string_writer.h"
#include "snapshot/system_snapshot.h"
#include "util/file/file_writer.h"
+#include "util/misc/arraysize_unsafe.h"
#include "util/misc/implicit_cast.h"
namespace crashpad {
@@ -64,10 +65,12 @@ uint64_t AMD64FeaturesFromSystemSnapshot(
MAP_FEATURE(cpuid_features, F_RDRAND, PF_RDRAND_INSTRUCTION_AVAILABLE);
#define FX_XD 20
+#define FX_RDTSCP 27
#define FX_3DNOW 31
uint64_t extended_features = system_snapshot->CPUX86ExtendedFeatures();
+ MAP_FEATURE(extended_features, FX_RDTSCP, PF_RDTSCP_INSTRUCTION_AVAILABLE);
MAP_FEATURE(extended_features, FX_3DNOW, PF_3DNOW_INSTRUCTIONS_AVAILABLE);
#define F7_FSGSBASE 0
@@ -76,8 +79,8 @@ uint64_t AMD64FeaturesFromSystemSnapshot(
MAP_FEATURE(leaf7_features, F7_FSGSBASE, PF_RDWRFSGSBASE_AVAILABLE);
- // This feature bit should be set if NX (XD, DEP) is enabled, not just if
- // it’s available on the CPU as indicated by the XF_XD bit.
+ // This feature bit should be set if NX (XD, DEP) is enabled, not just if it’s
+ // available on the CPU as indicated by the FX_XD bit.
if (system_snapshot->NXEnabled()) {
minidump_features |= ADD_FEATURE(PF_NX_ENABLED);
}
@@ -86,10 +89,10 @@ uint64_t AMD64FeaturesFromSystemSnapshot(
minidump_features |= ADD_FEATURE(PF_SSE_DAZ_MODE_AVAILABLE);
}
- // PF_SECOND_LEVEL_ADDRESS_TRANSLATION can’t be determined without
- // consulting model-specific registers, a privileged operation. The exact
- // use of PF_VIRT_FIRMWARE_ENABLED is unknown. PF_FASTFAIL_AVAILABLE is
- // irrelevant outside of Windows.
+ // PF_SECOND_LEVEL_ADDRESS_TRANSLATION can’t be determined without consulting
+ // model-specific registers, a privileged operation. The exact use of
+ // PF_VIRT_FIRMWARE_ENABLED is unknown. PF_FASTFAIL_AVAILABLE is irrelevant
+ // outside of Windows.
#undef MAP_FEATURE
#undef ADD_FEATURE
@@ -194,7 +197,7 @@ void MinidumpSystemInfoWriter::SetCPUX86Vendor(uint32_t ebx,
system_info_.ProcessorArchitecture ==
kMinidumpCPUArchitectureX86Win64);
- static_assert(arraysize(system_info_.Cpu.X86CpuInfo.VendorId) == 3,
+ static_assert(ARRAYSIZE_UNSAFE(system_info_.Cpu.X86CpuInfo.VendorId) == 3,
"VendorId must have 3 elements");
system_info_.Cpu.X86CpuInfo.VendorId[0] = ebx;
@@ -252,8 +255,9 @@ void MinidumpSystemInfoWriter::SetCPUOtherFeatures(uint64_t features_0,
system_info_.ProcessorArchitecture !=
kMinidumpCPUArchitectureX86Win64);
- static_assert(arraysize(system_info_.Cpu.OtherCpuInfo.ProcessorFeatures) == 2,
- "ProcessorFeatures must have 2 elements");
+ static_assert(
+ ARRAYSIZE_UNSAFE(system_info_.Cpu.OtherCpuInfo.ProcessorFeatures) == 2,
+ "ProcessorFeatures must have 2 elements");
system_info_.Cpu.OtherCpuInfo.ProcessorFeatures[0] = features_0;
system_info_.Cpu.OtherCpuInfo.ProcessorFeatures[1] = features_1;

Powered by Google App Engine
This is Rietveld 408576698