FILTER Attribute

The FILTER attribute indicates that this symbol is a filter to another shared object. It shares the same syntax as the FILTER directive, differing in that it works at the per-symbol level rather than the entire object.

FILTER accepts the following attributes.

STANDARD

A standard filter. Standard filter symbols do not require any backing implementation to be provided from an input relocatable object. Therefore, use this directive together with defining the symbol's type, to create an absolute symbol table entry. See Generating Standard Filters.

AUXILIARY

An auxiliary filter. See Generating Auxiliary Filters.

WEAK

A weak standard filter. Weak filters are identical to standard filters at runtime. At link-edit time, if unused dependency processing is active, a weak filter symbol from a dependency can be ignored in favor of the same symbol from the target filtee. Weak filters are the preferred type when using filters to provide backward compatibility when code moves between libraries. See Generating Weak Filters.

The simplified form of the FILTER attribute has the following form.

        FILTER = soname;

This creates a standard filter, and is equivalent to the following.

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