Skip to content

Commit 329cbf8

Browse files
committed
Handle the case where there are no XSAVE features on old CPUs (e.g. Nehalem).
1 parent b4d9d7a commit 329cbf8

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/ExtraRegisters.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,9 @@ size_t ExtraRegisters::read_register(uint8_t* buf, GdbRegister regno,
220220
// Apparently before any AVX registers are used, the feature bit is not set
221221
// in the XSAVE data, so we'll just return 0 for them here.
222222
const uint64_t* xsave_features_ = xsave_features(data_);
223-
if (reg_data.xsave_feature_bit >= 0 && xsave_features_ &&
224-
!(*xsave_features_ & (1 << reg_data.xsave_feature_bit))) {
223+
if (reg_data.xsave_feature_bit >= 0 &&
224+
(!xsave_features_ ||
225+
!(*xsave_features_ & (1 << reg_data.xsave_feature_bit)))) {
225226
memset(buf, 0, reg_data.size);
226227
} else {
227228
DEBUG_ASSERT(size_t(reg_data.offset + reg_data.size) <= data_.size());

0 commit comments

Comments
 (0)