On 29/01/2026 18:04, Michael Kelly wrote:
On 29/01/2026 17:14, Mike Kelly wrote:
Here is a patch for review to address the xmm register value corruption occurring in user code that is heavily bombarded by signals.

It's a small patch to address what I found to be a very difficult problem. The xstate_size of the interrupted thread's xstate is not saved in any structure. I therefore had to implement the assumption that xstate_size returns the same value for all calls to __i386_get_xstate_size() which is indeed currently the case. There is no actual issue here but it seemed wrong to me to do so. Comments welcome.

Also note that this patch has been tested successfully on hurd-i386 and hurd-amd64 using the test case 'sigtest_xmm0.c' attached to message https://lists.gnu.org/archive/html/bug-hurd/2026-01/msg00241.html

There is a limitation with this patch in the case where the xstate is not supported by the system and managed state should default to the basic sc_i386_float_state. I will rework the patch accordingly and also attempt to address the issue of the xstate_size mentioned above.

Regards,

Mike.


Reply via email to