[LLVMdev] How to compile a linux module into .bc file using clang or llvm command?
John Criswell
criswell at illinois.edu
Wed Apr 11 08:48:07 PDT 2012
On 4/10/12 10:11 PM, 15102925731 wrote:
> It's actually is .c file.
> I just want firstly to compile helloworldmodule.c into
> helloworldmodule.bc.
> Then I run a LLVM pass on it to do some optimization, and then I
> compile the modified .bc file into .ko file.
>
> So, could you tell me how to compile helloworldmodule.c into
> helloworldmodule.bc? I think it's not the same command *"clang -O3
> -emit-llvm hello.c -c -o hello.bc". *Because it is a device driver
> that will be at last compiled to be .ko file.
No, that's exactly how you would do it, although you might need to use
GCC + Dragonegg instead of clang because the Linux 3.0 kernel doesn't
compile with Clang out-of-the-box (at least for me, anyway).
-- John T.
>
> Thank you!
>
> --
> ??!
> ??
> ------------------------------------------------------------------------------------------------------
> 2012-04-11
> ------------------------------------------------------------------------------------------------------
> Name: ??(ZhenKai)
> Homepage:http://www.renren.com/262729393
> Email: zhenkaixd at 126.com <mailto:zhenkaixd at 126.com>or 846227103 at qq.com
> <mailto:846227103 at qq.com>
> TEL: 15810729006(Beijing)
> Address: Room I-406, Central Building, Tsinghua University, Beijing,
> China. 100084.
>
> ? 2012-04-11 09:56:21,"Justin Holewinski"
> <justin.holewinski at gmail.com> ??:
>
>
> 2012/4/10 15102925731 <zhenkaixd at 126.com <mailto:zhenkaixd at 126.com>>
>
> Hi, my friends
>
>
> I know there is a difference between compiling a linux module
> and a simple helloworld programme.
> If I compile a helloworld.c file, the command is
> *"clang -O3 -emit-llvm hello.c -c -o hello.bc"*
> But what the command should be if I want to compile a linux
> module into a .bc file? (I know it may be an easy question to
> you guys, but I really don't know where to find the answer on
> llvm.org <http://llvm.org>.)
>
>
> What do you mean by linux module? A shared library (.so)? A
> kernel module (.ko)?
>
>
> Thank you!
>
>
>
>
> --
> ??!
> ??
> ------------------------------------------------------------------------------------------------------
> 2012-04-11
> ------------------------------------------------------------------------------------------------------
> Name: ??(ZhenKai)
> Homepage:http://www.renren.com/262729393
> Email: zhenkaixd at 126.com <mailto:zhenkaixd at 126.com>or
> 846227103 at qq.com <mailto:846227103 at qq.com>
> TEL: 15810729006(Beijing)
> Address: Room I-406, Central Building, Tsinghua University,
> Beijing, China. 100084.
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> --
>
> Thanks,
>
> Justin Holewinski
>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120411/5a81cfa3/attachment.html>
More information about the llvm-dev
mailing list