Filtering Combinations
Individual interfaces that define standard filters,
                                together with individual interfaces that define auxiliary filters,
                                can be defined within the same shared object. This combination of
                                filter definitions is achieved by using the
mapfile keywords
FILTER and AUXILIARY
                                to assign the required filtees.
               
A shared object that defines all of its interfaces to be filters by
                                using the -F, or -f option, or the
mapfile
                  FILTER directive, is either a standard weak, or
                                auxiliary filter.
               
A shared object can define individual interfaces to act as filters, together with defining all the interfaces of the object to act as a filters. In this case, the individual filtering defined for an interface is processed first. When a filtee for an individual interface filter can not be established, the filtee defined for all he interfaces of the filter provides a fallback if appropriate.
For example, consider the filter filter.so.1.
                                This filter defines that all interfaces act as auxiliary filters
                                against the filtee
                  filtee.so.1 using the link-editor's
-f option. filter.so.1
                                also defines the individual interface foo to be a
                                standard filter against the filtee
                  foo.so.1 using the mapfile
                  FILTER symbol attribute.
filter.so.1 also defines the individual
                                interface bar to be an auxiliary filter against
                                the filtee
                  bar.so.1 using the mapfile
                  AUXILIARY symbol attribute.
               
An external reference to foo results in processing
                                the filtee
                  foo.so.1. If foo can not be
                                found from foo.so.1, then no further processing
                                of the filter is carried out. In this case, no fallback processing
                                is performed because foo is defined to be a
                                standard filter.
               
An external reference to bar results in processing
                                the filtee
                  bar.so.1. If bar can not be
                                found from bar.so.1, then processing falls back
                                to the filtee
                  filtee.so.1. In this case, fallback processing
                                is performed because bar is defined to be an
                                auxiliary filter. If bar can not be found from
filtee.so.1, then the definition of
bar within the filter
filter.so.1 is finally used to resolve
                                the external reference.