krytarowski added inline comments.

================
Comment at: 
lldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp:448-449
+
+    assert(info.xsave_mask & XFEATURE_ENABLED_X87);
+    assert(info.xsave_mask & XFEATURE_ENABLED_SSE);
+
----------------
emaste wrote:
> mgorny wrote:
> > mgorny wrote:
> > > emaste wrote:
> > > > I wonder if these should be an error rather than assertion?
> > > I suppose the question is if they ever happen in real use. If they do, we 
> > > should probably handle them gracefully. Otherwise, assertion should be 
> > > sufficient.
> > I can actually answer the first question myself. According to Intel's 
> > manual, it is impossible to disable x87 bit. IIRC attempt to unset it on 
> > XCR0 will raise some fault.
> > 
> > The second question is basically whether under any circumstances can 
> > FreeBSD kernel disable SSE on XCR0 (this code is only used on systems 
> > supporting XSAVE).
> I guess my point is that having these bits unset would indicate a kernel 
> issue or bug, or maybe hardware issue, but never indicate an error or invalid 
> operation in lldb itself.
> 
> Either way I think there is no practical impact, it's not actually going to 
> happen.
If we assert on this code we more trigger software bug in lldb rather than a 
hardware specifics.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89193/new/

https://reviews.llvm.org/D89193

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to