FILTER Directive

The FILTER directive can be used when building a shared object. The symbol table of this object acts as a filter to one or more shared objects, referred to as filtees. At runtime, filters are used to redirect symbol lookup from one object to another. Filters are frequently used to provide backward compatibility for existing executables when functionality is moved from one library to another. See Shared Objects as Filters.

FILTER {
        FILTEE = soname;
        TYPE = filter_type;
};

FILTER can only be used with shared objects. Multiple FILTER directives of a single type can be specified. If multiple FILTER directives are used, their values are merged such that the resulting object will act as a filter to all of the specified filtees.