Hi Duncan,<br><br>Ah, non-unicode email... In the llvm output there should be a "1" character, i.e. (char) 0x01, prepended to acos and __GI_acos. I'm unable to get it on smaller things, but it happens when I try to compile uClibc with llvm. I've attached the .o and the .bc for comparison. The text file is the result after preprocessing (to avoid having to download a bunch of stuff).<br>

<br>Here is the compile line that I'm running for the llvm compilation:<br>llvm-gcc -emit-llvm -S -c pp.c -o /tmp/tmpU_bCHo.ll -c<br>llvm-as /tmp/tmpU_bCHo.ll -o=pp.bc.o<br>(note that llvm-gcc is gcc-4.5 setup to generate assembly when it gets -emit-llvm).<br>

<br>The non-llvm compilation is from:<br>gcc-4.5 -c pp.c -o pp.o<br>
<br>I thought this was something coded into llvm, but maybe it is just my scripts messing things up somehow...<br><br><div class="gmail_quote">

On Tue, Jul 26, 2011 at 12:06 AM, Duncan Sands <span dir="ltr"><<a href="mailto:baldrick@free.fr" target="_blank">baldrick@free.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Gregory,<br>
<div><div></div><div><br>
> I'm looking at compiling some pieces of the standard library with llvm but I'm<br>
> running into problems with some functions being renamed by dragonegg. For<br>
> example, when I compile the acos implementation with plain gcc I get:<br>
><br>
> $ nm acos.o<br>
> 0000000000000000 r .LC1<br>
> 0000000000000048 r .LC10<br>
> 0000000000000050 r .LC11<br>
> 0000000000000058 r .LC12<br>
> 0000000000000060 r .LC13<br>
> 0000000000000068 r .LC14<br>
> 0000000000000070 r .LC15<br>
> 0000000000000008 r .LC2<br>
> 0000000000000010 r .LC3<br>
> 0000000000000018 r .LC4<br>
> 0000000000000020 r .LC5<br>
> 0000000000000028 r .LC6<br>
> 0000000000000030 r .LC7<br>
> 0000000000000038 r .LC8<br>
> 0000000000000040 r .LC9<br>
> 0000000000000000 T __GI_acos<br>
> 0000000000000000 T __ieee754_acos<br>
>                   U __ieee754_sqrt<br>
> 0000000000000000 T acos<br>
><br>
> but when I compile with dragonegg, I get:<br>
><br>
> $ llvm-nm acos.bc.o<br>
>           T __GI_acos<br>
>           T acos<br>
>           T __ieee754_acos<br>
>           U __ieee754_sqrt<br>
<br>
</div></div>I don't see any functions being renamed: the names seem to be the same just<br>
in a different order...<br>
<br>
Ciao, Duncan.<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>gregory malecha<br><div><a href="http://www.people.fas.harvard.edu/%7Egmalecha/" target="_blank">http://www.people.fas.harvard.edu/~gmalecha/</a></div><br>