labath wrote:

I looked at why the test fails on linux. It turns out it's due to a bunch of 
reasons, but most of them are unrelated to the problem at hand. #139545 and 
#139550 fix the surrounding issues, and 
https://github.com/llvm/llvm-project/commit/c290e555d6e7d196ebbe5fd6d64e0be25275a5b4
 is enough to fix the test itself.

I needed to change the compile command because, for some reason the compiler 
was not finding the temporary file. I didn't look at what causes the difference 
because I think this is more robust and idiomatic.

I also needed to remove the `brk #0xf000` instruction because lldb is not able 
to step over it -- it just ends up spinning forever. FWICS, it's not actually 
necessary now that you're stepping through the test. Nonetheless, this is a bug 
-- one that @DavidSpickett might be interested in :)

Interestingly, the mac debug server does not step onto the breakpoint 
instruction at all. It skips over it when stepping over the previous 
instruction (i.e. that single step operation actually steps two instructions). 
This is most likely also some kind of a bug.

> FTR that test is skipped on darwin because _sigtramp in libc on aarch64 
> doesn't have any hand-supplied eh_frame right now :/

Oh... FWIW, we're in the same situation on aarch64 linux, but here we hard code 
the plan into lldb in `PlatformLinux::GetTrapHandlerUnwindPlan` (which we can, 
because it's part of the OS ABI). Maybe you could do the same?

https://github.com/llvm/llvm-project/pull/138805
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to