Get Linux i386 running.
This change uses a fixed known offset for the Linux i386 DR0 register. This change also undoes the 32-bit wordsize change from r169645 that revolved around being 32-bit/64-bit friendly in WriteRegOperation::Execute within the Linux ProcessMonitor.cpp. I ran all the tests on x86_64 Linux with no failures. I also ran some simple tests with 32-bit Linux exe on x86_64 host and 32-bit linux exe on i686 32-bit host and these worked fine. Note (from Todd): the UserData struct in the Linux i386 register context (only used by Linux i386 host running Linux 32-bit inferior) is out of sync with what shows up in the sys/user.h for an 32-bit Linux build (per an earlier change of mine to make it look more like x86_64 host running x86 exe). I think we should (1) make i386 Linux targets run using the same register context (and correct ones) on i386 and x86_64 linux hosts if that is possible, and (2) we could use some tests around the register handling, particularly to verify things like DR0 registers are in the right spots on host/target combos that we can verify vs. known correct values. Change by Matthew Gardiner. llvm-svn: 202887
Loading
Please register or sign in to comment