-
Notifications
You must be signed in to change notification settings - Fork 25
Events
BSDCan 2013, May 17, Ottawa, Canada
Abstract
FreeBSD has moved the toolchain forward since the 2010 BSDCan Toolchain Summit. As the clang and llvm compiler infrastructure is imported into FreeBSD, a BSD-like licensed linker is essentially needed to complete the BSD toolchain infrastructure. This talk will introduce MCLinker, the first practical BSD licensed linker, with its current status and future possibilities in BSD.
MCLinker is a toolchain infrastructure designed for optimizing programs in all stages of linking. Currently, the particular focus of MCLinker is on on-device linking. Compared to the traditional linkers (e.g., GNU ld), MCLinker performs much faster linking with lower memory usage. MCLinker has been one of the standard linkers in Android since the Jelly Bean release. We are currently working on the linking of FreeBSD based system.
Presenter
Chinyen Chou, MediaTek Inc.
2013 European LLVM Conference, April 29-30, 2013, Paris, France
Media
Video and slides are available on the conference site.
Presenter
Diana Chen, MediaTek Inc.
CGO 2013, February 24, Shenzhen, China
Abstract
The tutorial targets both researchers and students who are interested in using LLVM and MCLinker. This tutorial provides a detailed look at LLVM and MCLinker, including how to use them and how they work together.
About MCLinker and LLVM
Generating a program from source code can be simply separated into two processes - compilation and linking.
LLVM is a compiler infrastructure that is designed for optimizing programs in all stages of compilation, from source code to relocatable objects. It is an integral part of Apple's development tools. It's also the core of several modern languages and compilers, such as Android Renderscript and many OpenCL JIT compilers.
MCLinker is a toolchain infrastructure for optimizing programs in all stages of linking, from relocatable objects to executable programs. It is one of the standard linkers in Google Android system since Jelly Bean. MCLinker, designed for on-device linking, is the fastest and smallest linker in the open-source area.
Combining LLVM and MCLinker, we have a versatile tool, or say a Swiss army knife. For example, compiler developers can fully control all stages of compilation and linking of a program. The other example, virtual machine developers can easily leverage operating system's loader. They do not need to handle with all details of linking and loading any more.
Tutorial Topics
A summary of topics to be covered:
- the architecture of MCLinker and LLVM,
- the details of intermediate representations of MCLinker and LLVM, and
- the interaction between MCLinker and LLVM.
Slides
Click here to download the slides
COSCUP 2012, August 18-19, 2012, Taipei, Taiwan
Media
Video and slides are available on the conference site.
Presenter
Diana Chen, MediaTek Inc.