[LLVMdev] Native build clarification

Hans Stimer hans.stimer at gmail.com
Sat May 14 11:31:34 PDT 2011


It looks like it is kind of stalled:

~/extern/llvm.head/lib/Object $ svn log



On Sat, May 14, 2011 at 11:07 AM, Hans Stimer <hans.stimer at gmail.com> wrote:

> It looks like someone got started on this project:
>
> http://www.llvm.org/devmtg/2010-11/Spencer-ObjectFiles.pdf
>
> Does anyone know what kind of progress has been made?
>
>
> On Sat, May 14, 2011 at 9:10 AM, Reed Kotler <rkotler at mips.com> wrote:
>
>>  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>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         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>>
>>
>> --
>>
>> Thanks,
>>
>>  Justin Holewinski
>>
>>
>> _______________________________________________
>> LLVM Developers mailing listLLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>>
>> _______________________________________________
>> 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/e9ffc617/attachment.html>


More information about the llvm-dev mailing list