<br><br><div class="gmail_quote">On Thu, Mar 19, 2009 at 1:46 AM, Anton Korobeynikov <span dir="ltr"><<a href="mailto:anton@korobeynikov.info">anton@korobeynikov.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi, Mark<br>
<div class="im"><br>
> #pragma GCC visibility push(hidden)<br>
</div>In theory - yes.<br>
<div class="im"><br>
> If so, what are the options I need to set when configuring llvm and<br>
> llvm-gcc?<br>
</div>Well... No extra options are needed.<br>
<div class="im"><br>
> I'm able to compile the module with llvm-gcc (with the above pragma<br>
> included), but the kernel still rejects the module at load time saying the<br>
> module is compiled with PLT/GOT.<br>
</div>Visibility != w/o PLT/GOT, it only reduces calls / accesses via PLT/GOT.</blockquote><div><br>I agree, though initially I thought otherwise.<br><br>The symbol in question here is a memcpy (introduced by the compiler probably at codegen) for a "big" copy. The memcpy thus introduced is somehow of type  R_X86_64_PLT32 instead of it being a R_X86_64_PC32. Without the "bad" memcpy, things seem to work, the module loads and works. <br>
<br>I'll investigate some more and then file a PR. Thanks for your help!<br><br>-KC<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
> Any Inputs, Insights?<br>
Please consider filling a PR in llvm bugzilla with sources in question<br>
and/or generated LLVM IR (you can grab it supplying -emit-llvm option<br>
to llvm-gcc)<br>
<font color="#888888"><br>
--<br>
With best regards, Anton Korobeynikov<br>
Faculty of Mathematics and Mechanics, Saint Petersburg State University<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>
</font></blockquote></div><br>