jasonmolenda added inline comments.

================
Comment at: lldb/source/Target/Process.cpp:5569-5570
+
+  if (m_code_address_mask == 0)
+    return -1; // All bits are used for addressing.
+
----------------
pcc wrote:
> Is this part correct? (Same below.) In D100521 you have
> ```
>   if (pc & pac_sign_extension)
>     return pc | mask;
>   return pc & (~mask);
> ```
> So it looks like this would cause the pc to be set to 0 (or -1)?
I get confused so I like to do this by hand quickly to make sure I understand.

given mask of 1110000 and addr of xxx1011 where 'x' are PAC bits,

b55 == 1: m | a == 1111011
b55 == 0: ~m & a == 0001011

given mask of 1111111, low address 0001011 and high address 1111011,

b55 == 1: m & ha == ha
b55 == 0: ~m | la == la

am I  not thinking of something that could unify these?  I can confuse myself 
so easily with these things.

We could also detect a mask of -1 and just return the original address in 
FixCodeAddress/FixDataAddress, right.  That would be very simple.


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

https://reviews.llvm.org/D100515

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

Reply via email to