Hi All,

There is a small change that enables correct calculation of arm sub 
architectures while using the REPL on arm-linux.  As you may of may or may not 
know, linux appends ā€˜l’ to arm architecture versions to denote little endian.  
This sometimes interferes with the determination of the architecture in the 
triple.  I experimented with adding sub architecture entries for these within 
lldb, but I discovered a simpler (and less invasive) method.  Because LLVM 
already knows how to handle some of these cases (I have a patch submitted for 
review that enables v6l; v7l already works), I am relying on llvm to clean it 
up.  The gist of it is that the llvm constructor (when given a triple string) 
retains the provided string unless an accessor mutates it.  Meanwhile, the 
accessors for the components go through the aliasing and parsing logic.  This 
code detects whether the sub-architecture that armv6l or armv7l aliases to is 
detected, and re-sets the architecture in the triple.  This overwrites the 
architecture that comes from linux, thus sanitizing it.

Some kind of solution is required for the REPL to on arm-linux.

Thoughts?
- Will

Attachment: lldb.diff
Description: Binary data

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

Reply via email to