omjavaid added a comment.

In D118794#3405724 <https://reviews.llvm.org/D118794#3405724>, @DavidSpickett 
wrote:

> Switch to removing non-address bits in lldb instead of lldb-server.
>
> The breakpoint issues I mention only really happen if you try to break on a 
> tagged
> function pointer. Which is pretty niche, but I hope to address it later 
> anyway.
>
> On the issue of whether to use FixData vs FixCode there's 2 maybe 3 ways to 
> go:
>
> - Assume that they're the same, which does work for Linux, for now.
> - Add a method that does both fixes, on the assumption that the virtual 
> address size for code and data is the same so no harm done and all bits will 
> be removed either way.
> - Extensively track whether addresses refer to code or data. In some 
> situations this is possible (looking at the exec bits of a memory mapping for 
> example) but I don't have a great idea what that looks like at this time.
>
> Option 2 seems like a good way to go for now.

So on the topic of separate code/data address masks (Linux specific). I dont 
recall if the actual position of the mask in the address changes or not? It may 
be the case that we have separate code and address masks but their position in 
the address bits is fixed for both. Which will mean we actually dont need two 
separate functions. I tried fidning it out in Linux documentation but it only 
says "Separate masks are exposed for data pointers and instruction pointers". 
It doesnt specifically says if the location of the both can be different or not.
Do you have any explanation on this from AARM


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118794/new/

https://reviews.llvm.org/D118794

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to