[LLVMdev] Native build clarification

Reed Kotler rkotler at mips.com
Sat May 14 09:10:48 PDT 2011


It's not so easy to create a linker that has all the bells and whistles, 
especially on windows.
You have to look at the totality of options, linker files, shared 
objects, etc.
It's not a weekend project.

If you want to read the elf manual and gnu ld and then write a new one 
you could do that. Clang can easily be fixed to incorporate it either as 
a default or as an optional linker. The GNU ld for mingw must know a lot 
about windows linking but probably not all.

In some worlds Coff format is still relevant.

Microsoft has their own form of Coff that they use even today.

Back in the early days of Windows NT I wrote one for that OS because 
Microsoft stopped distributing one with the OS and spent a lot of time 
reverse engineering Microsofts until I could really do all that it could 
do. Traditionally the OS manufacturer wrote the linker and did not 
document things well enough for someone else to.

Clang is not just for linux; people are going to build embedded bare 
metal apps and the OS itself (linux for example) and need many obscure 
features.

I think writing a new elf linker for linux and bare metal is possible 
but I would forget about supporting COFF and Microsoft format and other 
OS's like BSD or at least leave that open for someone else to add that 
can really add all the bells and whistles for that OS.

reed

On 05/14/2011 07:35 AM, Justin Holewinski wrote:
> On Fri, May 13, 2011 at 2:20 PM, Hans Stimer <hans.stimer at gmail.com 
> <mailto:hans.stimer at gmail.com>> wrote:
>
>     It appears that when you link bitcode files into a native
>     executable using llvm-ld, that gcc is used for the final step.
>
>     I would like to create a tool that creates native executables
>     without requiring gcc/clang. Is that currently supported with llvm?
>
>
> To create executables, LLVM relies on the system linker (gcc, visual 
> c, etc.).  Even Clang uses the system linker for the final link step.
>
>
>     _______________________________________________
>     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/20110514/c2b58110/attachment.html>


More information about the llvm-dev mailing list