Page MenuHomePhabricator

lldb - Register Context Linux ARM64
ClosedPublic

Authored by pawelo on Jul 17 2014, 11:11 PM.

Details

Reviewers
tfiala
Summary

Yet another step toward ARM64 support. With this commit, lldb-gdbserver started on ARM64 target can be accessed by lldb running on desktop PC and it can process simple commands (like 'continue'). Still ARM64 support lacks NativeRegisterContextLinux_arm64.* code which waits to be implemented.
Based on similar files for Linux x86_64 and Darwin ARM64. Due to common code extraction from Darwin related files, lldb should be tested for any unexpected regression on Darwin ARM64 machines too.

Diff Detail

Event Timeline

pawelo updated this revision to Diff 11631.Jul 17 2014, 11:11 PM
pawelo retitled this revision from to lldb - Register Context Linux ARM64.
pawelo updated this object.
pawelo edited the test plan for this revision. (Show Details)
pawelo set the repository for this revision to rL LLVM.
pawelo added a subscriber: Unknown Object (MLST).

I'm using it with D4381, D4488 and D4579 applied.

tfiala added a subscriber: tfiala.Jul 18 2014, 10:30 AM

I'll have a look at this soonish! Can't wait to try it out.

-Todd

pawelo updated this revision to Diff 11923.Jul 27 2014, 10:35 AM
pawelo set the repository for this revision to rL LLVM.

Newer version that fits to recent changes.

tfiala edited edge metadata.Aug 19 2014, 10:18 AM

Same with this - did this go in while I was on vacation?

Looking to close out some reviews that are still listed as open.

D4488 was completely covered by later patch already on LLVM's master.

tfiala accepted this revision.Aug 19 2014, 1:06 PM
tfiala edited edge metadata.

Ok - marking as accepted and closing out (with understanding this functionality already went in via another patch).

This revision is now accepted and ready to land.Aug 19 2014, 1:06 PM
tfiala closed this revision.Aug 19 2014, 1:06 PM

I just tested this patch against lldb/llvm/clang svn r216668.

The only changes needed were to convert Host:: to HostInfo:: in POSIXThread.cpp and NativeThreadLinux.cpp.

The tests came back clean on x86_64 Ubuntu and MacOSX 10.9.4.

Waiting on Apple review (just sent out email) of header file changes in RegisterContextDarwin_arm64.cpp and friends.

Submitted here, with a minor tweak:

svn commit
Sending        source/Plugins/Process/Linux/NativeThreadLinux.cpp
Sending        source/Plugins/Process/POSIX/POSIXThread.cpp
Sending        source/Plugins/Process/Utility/CMakeLists.txt
Sending        source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp
Adding         source/Plugins/Process/Utility/RegisterContextLinux_arm64.cpp
Adding         source/Plugins/Process/Utility/RegisterContextLinux_arm64.h
Adding         source/Plugins/Process/Utility/RegisterInfos_arm64.h
Sending        source/Utility/ARM64_GCC_Registers.h
Transmitting file data ........
Committed revision 216737.