[LLVMdev] Proposal: MCLinker - an LLVM integrated linker

Brooks Davis brooks at freebsd.org
Tue Nov 1 09:23:55 PDT 2011


On Tue, Nov 01, 2011 at 10:34:43PM +0800, Jush Lu (?c?|?s) wrote:
> Hi all,
> 
> We are developing a linker, MCLinker.
> 
> MCLinker is a linker for LLVM. It leverages the LLVM machine code (MC)
> layer to link object files and bitcodes, and generate shared objects
> and executable files.

Cool!  A linker has been the largest gap for FreeBSD to move to a
completely BSD toolchain by default now that libc++ is ported.

At our developers summit at EuroBSDCon we brainstormed a list of
features we'd like to see in an eventual linker.  In case it's of
interest here they are:

 - linker scripts (or equivalent)
 - LTO framework
 - Link time optimization against IR or machine code
 - Incremental linking
 - Support for IR in ELF
 - GNU ld compatibility
 - IR processing by plugin
 - Limited non-ELF support (for boot blocks, etc)
 - Alternative hash table support
 - Crunching support
 - Be fast
 - Native cross-architecture support
 - Multipass lookup
 - Unit tests
 - Coded to LLVM standards (to allow inclusion in LLVM)
 - linker is a library
 - C and C++ support
 - Architecture support: i386, x86_64, ARM, PPC(64),
 - MIPS(64), PiNaCl
 - Possible architecture support: sparc64

You might notice that some are really obvious, but we were trying to
capture as many requirements as possible.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111101/df17d5fe/attachment.sig>


More information about the llvm-dev mailing list