Linker Plugins User Guide

Linker plugin functionality is an elegant and easy-to-use solution to add user-defined behavior to ELD.

This guide contains all that you need to know about linker plugins, and how to effectively write one yourself.

Overview

  • Implemented as a C++ class.

  • Facilitates user-defined behavior to crucial parts of the link process.

  • Provides finer control over the output image layout than a linker script.

  • Allows inspecting symbols, chunks, relocation, section mapping, input and output sections.

  • Allows adding and modifying section mapping rules, relocations, chunk attributes, and symbols.

  • Plugins can communicate with the linker as well as with each other.

  • Easy traceability of plugins using --trace=plugin option.

  • PluginADT provides wrappers for many common linker data types.