[LLVMdev] Assembling the output of llc

Dale Johannesen dalej at apple.com
Mon May 19 10:18:43 PDT 2008


On May 18, 2008, at 11:51 PM, Talin wrote:

> Anton Korobeynikov wrote:
>> Hello Talin,
>>
>>> Yes exactly. I'm on OS X (x86), and I'm not specifying a target - I
>>> assumed that it would choose sensible defaults...
>>>
>> Could you please provide a .bc testcase? There can be multiple  
>> issues,
>> but at the first glance it seems, that names were not properly  
>> mangled.
>>
> I've created bug http://llvm.org/bugs/show_bug.cgi?id=2342 and  
> attached
> my example file to it.
>
> It wouldn't surprise me if it was a problem with the name mangling.
> According to the docs, LLVM allows punctuation symbols inside of
> identifiers, and I am taking advantage of this to include the complete
> type signature of each method in its name, punctuation and all. (One  
> of
> things I really dislike about C++ is trying to interpret mangled names
> in a stack trace.) I'm counting on LLVM to be able to quote/escape
> everything as needed.

It seems the quotes aren't being put in the right places when  
constructing
"$stub" and "$non_lazy_ptr" names, they should look like this:

"L(complicated<expression>)$non_lazy_ptr"

with the quotes outside.  This hasn't come up before because the only  
places quotes
occur now is in ObjectiveC names which don't use stubs or non-lazy  
pointers.
I guess it ought to work, though, shouldn't be hard.




More information about the llvm-dev mailing list