mmx registers on Linux 32-bit inferior

Hey all,

I just put up a patch earlier today to support lldb debugging 32-bit EXEs on a 32-bit host (thanks to Matthew Gardiner for all the investigation and motivation!) In the process of fixing that, I saw what looked like it might be the root cause of MMX registers being read incorrectly for a Linux 32-bit EXE debugged by a 64-bit host lldb.

Is there anybody out there who has a valid MMX debug scenario for a 32-bit Linux app that they can test in these two scenarios?
(1) debugging on a 32-bit Linux host with top of tree lldb.
(2) debugging on a 64-bit Linux host with top of tree lldb.

Those two code paths will be different now. I suspect it will work correctly in (1) [32-bit exe debugged on 32-bit host]. But it might fail on #2. If it works on #1 and not on #2, I suspect I can now change the 32-bit exe debugging path on 64 bit host to mirror the 32-bit host path now, which may fix it. But I don’t want to fiddle with it without a valid test scenario.

In lieu of actually running the test, I’d be happy to consume somebody’s MMX code that they know works and can tell me what the values should be at certain points in the code and I can run the tests over here.


I’ll go ahead and cook up and add some tests for these.