[Lldb-commits] [PATCH] Initial Assembly profiler for mips64
Jason Molenda
jmolenda at apple.com
Wed Feb 18 20:46:02 PST 2015
For what it's worth, an example of a test file for this code would be a driver program written in C for simplicity which calls under1() written in assembly, which in turn calls under2(). lldb would stop in under2(), go up the stack to under1() and try to print a register that was preserved.
Some utterly invalid syntax for a test file would look like:
int main()
{
under1();
}
.asm("
under1:
mov r16, 1
call under2
under2:
sd r16(sp) # I have no idea if that is right -- save contents of r16 on the local stack frame
mov r16, 5
call puts ## whatever, stop at a breakpoint here
");
If lldb could select frame 1 and see that r16 has the value 1, that's a simple test case.
But this test could only be run on a mips64 system.
I want to add test cases like this for x86 but it might take some fiddling to get assembly that would work on all the Unix x86 systems at least (nevermind Windows! ;) and I've never gotten around to it. I should start with at least simple x86 unwinder test cases that work correctly on Mac as a step 0.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D7696
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the lldb-commits
mailing list