`.protected NAMES'
==================
This one of the ELF visibility directives. The other two are
`.hidden' (Note:Hidden) and `.internal' (Note:Internal).
This directive overrides the named symbols default visibility (which
is set by their binding: local, global or weak). The directive sets
the visibility to `protected' which means that any references to the
symbols from within the components that defines them must be resolved
to the definition in that component, even if a definition in another
component would normally preempt this.