Index: lldb/trunk/source/Core/DumpDataExtractor.cpp =================================================================== --- lldb/trunk/source/Core/DumpDataExtractor.cpp +++ lldb/trunk/source/Core/DumpDataExtractor.cpp @@ -583,8 +583,10 @@ } else if (item_bit_size == ast->getTypeSize(ast->LongDoubleTy)) { const auto &semantics = ast->getFloatTypeSemantics(ast->LongDoubleTy); - const auto byte_size = - (llvm::APFloat::getSizeInBits(semantics) + 7) / 8; + + offset_t byte_size = item_byte_size; + if (&semantics == &llvm::APFloatBase::x87DoubleExtended()) + byte_size = (llvm::APFloat::getSizeInBits(semantics) + 7) / 8; llvm::APInt apint; if (GetAPInt(DE, &offset, byte_size, apint)) {