diff options
author | Todd Fiala <tfiala@google.com> | 2014-03-04 20:46:32 +0000 |
---|---|---|
committer | Todd Fiala <tfiala@google.com> | 2014-03-04 20:46:32 +0000 |
commit | 1251053e04f13d782c2745b971f8754721f0ba16 (patch) | |
tree | 1a03cfaf6b57298e7858cb4ae7eeb471d0b33fcf /lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | |
parent | 37213e219b3f5b1223e4963f93080a7f1fcb1054 (diff) | |
download | bcm5719-llvm-1251053e04f13d782c2745b971f8754721f0ba16.tar.gz bcm5719-llvm-1251053e04f13d782c2745b971f8754721f0ba16.zip |
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
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp index 36795e584cf..4cab19adf92 100644 --- a/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp +++ b/lldb/source/Plugins/Process/Linux/ProcessMonitor.cpp @@ -532,11 +532,7 @@ WriteRegOperation::Execute(ProcessMonitor *monitor) void* buf; Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_REGISTERS)); -#if __WORDSIZE == 32 - buf = (void*) m_value.GetAsUInt32(); -#else buf = (void*) m_value.GetAsUInt64(); -#endif if (log) log->Printf ("ProcessMonitor::%s() reg %s: %p", __FUNCTION__, m_reg_name, buf); |