labath added inline comments.

================
Comment at: 
source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp:438
@@ +437,3 @@
+    // The auxiliary vector consists of a sequence of key-value pairs, where 
key and value are of
+    // the pointer size for the architecture that the process is running on. 
We can use this to
+    // detect the process architecture. We will try reading the vector as if 
it were a 64-bit
----------------
nitesh.jain wrote:
> There are three flavours of ABI,
> 
> |  ABI | pointer-size  | Arch | Processs Type 
> |     O32 |    4             |   Mips32  |       32 bit 
> | N32        |4               | Mips64   |      32 bit 
> | N64        |8               | Mips64   |     64 bit 
> 
> So not sure whether it will work for "N32", I will check and let you know 
> asap.
Uh-oh. :)

So, I don't think the ABI should matter much to the native register context. 
What matters here is the registers and their sizes. I'm guessing the N32 thing 
is something like the x32 intel abi, wher all registers are 64-bit, but 
sizeof(void*) is 32-bit. In that case this function will not work correctly, as 
it will detect it as 32-bit (but the NT_PRSTATUS-based one would, I guess).

Does N32 work on pre-3.13 kernels? (Grepping the source seems to find mentions 
of it, but i don't know how well it actually worked).

I guess is back to drawing board with this one again. Could you please send me 
the contents of the N32 auxiliary vector (LD_SHOW_AUXV as well as the actual 
binary contents). I presume the one you sent me earlier was O32.

cheers,
pl


http://reviews.llvm.org/D20368



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

Reply via email to