Next: , Up: Plugins


23.1 Loading Plugins

Plugins are supported on platforms that support -ldl -rdynamic. They are loaded by the compiler using dlopen and invoked at pre-determined locations in the compilation process.

Plugins are loaded with

-fplugin=/path/to/name.so -fplugin-arg-name-key1[=value1]

The plugin arguments are parsed by GCC and passed to respective plugins as key-value pairs. Multiple plugins can be invoked by specifying multiple -fplugin arguments.

A plugin can be simply given by its short name (no dots or slashes). When simply passing -fplugin=name, the plugin is loaded from the plugin directory, so -fplugin=name is the same as -fplugin=`gcc -print-file-name=plugin`/name.so, using backquote shell syntax to query the plugin directory.