<div dir="ltr">The module is shipped with the source code, so it's from the developers (not me). <div><br></div><div>The path in the source tree is:</div><div>llvm-3.4.2.src/lib/Transforms/Hello</div><div><br></div><div>
After compiled LLVM</div><div><br></div><div><b id="docs-internal-guid-486588cf-c943-acda-0760-4e70c466d067" style="font-weight:normal"><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">#./configure --prefix=XXX --with-binutils-include=/path-to-binutils-2.24/include --enable-debug-symbols --enable-debug-runtime --enable-assertions --disable-optimized; make; make install</span></b><br>
</div><div><b style="font-weight:normal"><span style="font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br></span></b></div><div style><font color="#000000" face="Arial"><span style="white-space:pre-wrap">LLVMHello.so is generated at llvm-3.4.2.src/Debug+Asserts/lib</span></font></div>
<div style><font color="#000000" face="Arial"><span style="white-space:pre-wrap"><br></span></font></div><div style><font color="#000000" face="Arial"><span style="white-space:pre-wrap">According to the tutorial, the following command should be called to invoke it,</span></font></div>
<div style><font color="#000000" face="Arial"><span style="white-space:pre-wrap"><br></span></font></div><div style><font color="#000000" face="Arial"><span style="white-space:pre-wrap">#</span></font><span style="background-color:rgb(248,248,248);color:rgb(0,0,0);font-family:Consolas,'Deja Vu Sans Mono','Bitstream Vera Sans Mono',monospace;font-size:0.95em;line-height:15px">opt -load ../../../Debug+Asserts/lib/Hello.so -hello < hello.bc > /dev/null</span></div>
<div><b style="font-weight:normal"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br></span></b></div><div style>(and verify will be invoked by default).</div>
<div style><br></div><div style>~t</div><div><b style="font-weight:normal"><span style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><br></span></b></div>
<div><div><br></div><div> </div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 12, 2014 at 1:02 AM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That doesn't tell me where your module came from. How did you create<br>
the module that you're attempting to verify?<br>
<span class="HOEnZb"><font color="#888888"><br>
-eric<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, Aug 12, 2014 at 1:00 AM, Tianyin Xu <<a href="mailto:tixu@cs.ucsd.edu">tixu@cs.ucsd.edu</a>> wrote:<br>
> I just follow the tutorial: <a href="http://llvm.org/docs/WritingAnLLVMPass.html" target="_blank">http://llvm.org/docs/WritingAnLLVMPass.html</a><br>
><br>
> Actually it's not only my module, I used the LLVMHello.so (a sample module<br>
> in the source tree) and get the crash (I didn't do anything :-P).<br>
><br>
> ~t<br>
><br>
><br>
> On Tue, Aug 12, 2014 at 12:57 AM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Weird, it definitely shouldn't be crashing. How did you create your<br>
>> module?<br>
>><br>
>> -eric<br>
>><br>
>> On Tue, Aug 12, 2014 at 12:56 AM, Tianyin Xu <<a href="mailto:tixu@cs.ucsd.edu">tixu@cs.ucsd.edu</a>> wrote:<br>
>> > no... I guess verifier runs by default and it points to the<br>
>> > doFinailization() function :-(<br>
>> ><br>
>> > ~t<br>
>> ><br>
>> ><br>
>> > On Tue, Aug 12, 2014 at 12:53 AM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> No idea, I was suggesting to just run the verifier to see if it would<br>
>> >> pinpoint what's broken about the module.<br>
>> >><br>
>> >> -eric<br>
>> >><br>
>> >> On Tue, Aug 12, 2014 at 12:52 AM, Tianyin Xu <<a href="mailto:tixu@cs.ucsd.edu">tixu@cs.ucsd.edu</a>> wrote:<br>
>> >> > Oh, you mean opt -disable-verify?<br>
>> >> ><br>
>> >> > Yes, it does eliminate the crashing...<br>
>> >> ><br>
>> >> > Do you know what's the problem, Eric?<br>
>> >> ><br>
>> >> > Thanks a lot!<br>
>> >> > ~t<br>
>> >> ><br>
>> >> ><br>
>> >> > On Tue, Aug 12, 2014 at 12:42 AM, Eric Christopher<br>
>> >> > <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> Tried opt -verify on your module?<br>
>> >> >><br>
>> >> >> -eric<br>
>> >> >><br>
>> >> >> On Tue, Aug 12, 2014 at 12:28 AM, Tianyin Xu <<a href="mailto:tixu@cs.ucsd.edu">tixu@cs.ucsd.edu</a>><br>
>> >> >> wrote:<br>
>> >> >> > Hi all,<br>
>> >> >> ><br>
>> >> >> > I find all my passes are all broken with LLVM 3.4. Then I tried<br>
>> >> >> > out<br>
>> >> >> > the<br>
>> >> >> > LLVMHello.so specified in the LLVM doc,<br>
>> >> >> > <a href="http://llvm.org/docs/WritingAnLLVMPass.html" target="_blank">http://llvm.org/docs/WritingAnLLVMPass.html</a><br>
>> >> >> > and it also crashes.<br>
>> >> >> ><br>
>> >> >> > It seems all the functions in the pass do work, but LLVM crashes<br>
>> >> >> > in<br>
>> >> >> > the<br>
>> >> >> > doFinalization() step.<br>
>> >> >> ><br>
>> >> >> > Does anyone know this problem?<br>
>> >> >> ><br>
>> >> >> > Thanks!<br>
>> >> >> > Tianyin<br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> ><br>
>> >> >> > -----------------------------------------------------------------------------------------------------------------<br>
>> >> >> ><br>
>> >> >> > #opt -load ../../../Debug+Asserts/lib/LLVMHello.so -hello<br>
>> >> >> > -time-passes <<br>
>> >> >> > bcfiles/hello.bc<br>
>> >> >> > ...<br>
>> >> >> > (PRINT ALL THE FUNCTIONS, EVERYTHING IS FINE.)<br>
>> >> >> > ...<br>
>> >> >> > wrong initalizer for intrinsic global variable<br>
>> >> >> > [0 x i8*] zeroinitializer<br>
>> >> >> > Broken module found, compilation aborted!<br>
>> >> >> > 0  opt             0x00000000019ac447<br>
>> >> >> > llvm::sys::PrintStackTrace(_IO_FILE*)<br>
>> >> >> > + 38<br>
>> >> >> > 1  opt             0x00000000019ac6ce<br>
>> >> >> > 2  opt             0x00000000019ac112<br>
>> >> >> > 3  libpthread.so.0 0x00007feee0c77cb0<br>
>> >> >> > 4  libc.so.6       0x00007feedfca2425 gsignal + 53<br>
>> >> >> > 5  libc.so.6       0x00007feedfca5b8b abort + 379<br>
>> >> >> > 6  opt             0x0000000001953173<br>
>> >> >> > 7  opt             0x0000000001953097<br>
>> >> >> > 8  opt             0x0000000001928676<br>
>> >> >> > llvm::FPPassManager::doFinalization(llvm::Module&) + 88<br>
>> >> >> > 9  opt             0x0000000001928a8a<br>
>> >> >> > 10 opt             0x0000000001928ef0<br>
>> >> >> > llvm::legacy::PassManagerImpl::run(llvm::Module&) + 254<br>
>> >> >> > 11 opt             0x0000000001929103<br>
>> >> >> > llvm::legacy::PassManager::run(llvm::Module&) + 39<br>
>> >> >> > 12 opt             0x00000000008f88cd main + 5778<br>
>> >> >> > 13 libc.so.6       0x00007feedfc8d76d __libc_start_main + 237<br>
>> >> >> > 14 opt             0x00000000008ea589<br>
>> >> >> > Stack dump:<br>
>> >> >> > 0. Program arguments: opt -load<br>
>> >> >> > ../../../Debug+Asserts/lib/LLVMHello.so<br>
>> >> >> > -hello -time-passes<br>
>> >> >> > Aborted (core dumped)<br>
>> >> >> ><br>
>> >> >> > --<br>
>> >> >> > Tianyin XU,<br>
>> >> >> > <a href="http://cseweb.ucsd.edu/~tixu/" target="_blank">http://cseweb.ucsd.edu/~tixu/</a><br>
>> >> >> ><br>
>> >> >> > _______________________________________________<br>
>> >> >> > LLVM Developers mailing list<br>
>> >> >> > <a href="mailto:LLVMdev@cs.uiuc.edu">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>
>> >> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >> > --<br>
>> >> > Tianyin XU,<br>
>> >> > <a href="http://cseweb.ucsd.edu/~tixu/" target="_blank">http://cseweb.ucsd.edu/~tixu/</a><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Tianyin XU,<br>
>> > <a href="http://cseweb.ucsd.edu/~tixu/" target="_blank">http://cseweb.ucsd.edu/~tixu/</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Tianyin XU,<br>
> <a href="http://cseweb.ucsd.edu/~tixu/" target="_blank">http://cseweb.ucsd.edu/~tixu/</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><span style="border-collapse:separate;color:rgb(0,0,0);font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><span style="color:rgb(102,102,102);font-family:arial;font-size:small">Tianyin XU,<br>
<a href="http://cseweb.ucsd.edu/%7Etixu/" target="_blank">http://cseweb.ucsd.edu/~tixu/</a></span></span>
</div>