+ Omair

I don't really understand arm (sub)-architectures or REPL. The patch
seems mostly harmless, but it also feels like a hack to me. A couple
of questions:
- why does this only pose a problem for REPL?
- If I understand correctly, the problem is that someone is looking at
the architecture string contained in the Triple, and not finding what
it expects. Is that so? Could you point me to (some of) the places
that do that.

Omair, any thoughts on this?

cheers,
pl


On 25 January 2016 at 18:55, Hans Wennborg <h...@chromium.org> wrote:
> This patch looks reasonable to me, but I don't know enough about LLDB
> to actually review it.
>
> +Renato or Pavel maybe?
>
> On Thu, Jan 14, 2016 at 11:32 AM, William Dillon via lldb-dev
> <lldb-dev@lists.llvm.org> wrote:
>> Hi again, everyone
>>
>> I’d like to ping on this patch now that the 3.8 branch is fairly new, and 
>> merging it over is fairly straight-forward.
>>
>> Thanks in advance for your comments!
>> - Will
>>
>>> 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 work on arm-linux.  
>>> Without it, the REPL crashes.
_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to