[LLVMdev] Assembling the output of llc

Talin viridia at gmail.com
Tue May 20 00:41:30 PDT 2008


Dale Johannesen wrote:
> 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.
>   
Yep, it's fixed in the current head and completely works now. On to the 
next problem!




More information about the llvm-dev mailing list