geohot / mclinker

LLVM Linker for Mobile Computing

Home Page:https://groups.google.com/forum/#!forum/mclinker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MCLinker

An LLVM Linker for Mobile Computing

About

MCLinker is a full-fledged system linker for mobile devices. Hence it is fast, small with low memory footprints. MCLinker leverages the LLVM to link object files, and generate shared objects or executable files. Code in MCLinker project is licensed under the "UIUC" BSD-Style license which is compatible with commercial products.

Reliability

Following systems can be linked successfully

  • ARM Android (4.2+) kernel and system image
  • FreeBSD buildworld and buildkernel for i386 targets
  • ARM Linux kernel 3.x

Supported Environment

  • Target Platforms: AArch64, ARM, X86, X86_64, x32, MIPS32, MIPS64 and Hexagon machines
  • Host OS: X86/X86_64 Linux, Android, Mac OS X and Windows
  • For Android NDK r9 and above, developers can simply use -fuse-ld=mcld to link JNI programs by MCLinker

Features

  • A system linker
  • GNU ld options compatibility
  • Support cross linking
  • Can be used as a library or a stand-alone tool
  • Support multiple targets
  • Fast, small with low memory footprint

Current Status

Date: 2015/09/11
LLVM: 3.8svn (trunk)
MCLinker: 2.11.0-dev, master branch

Date: 2015/09/11
LLVM: 3.8svn (trunk@246954)
MCLinker: 2.10.0-rc, release_210 branch

Next Milestone

  • ARM exception handling format enhancement
  • TLS
  • Plugin support (LTO)
  • Version script support
  • To be one of system linkers of BSD platform

Code License

University of Illinois/NCSA
Open Source License

About

LLVM Linker for Mobile Computing

https://groups.google.com/forum/#!forum/mclinker

License:Other


Languages

Language:C++ 83.4%Language:Python 4.9%Language:TypeScript 3.6%Language:LLVM 2.8%Language:Objective-C 1.3%Language:M4 1.2%Language:CMake 0.8%Language:Yacc 0.6%Language:Makefile 0.5%Language:Shell 0.5%Language:C 0.2%Language:SourcePawn 0.1%Language:Awk 0.1%Language:Assembly 0.0%