This is one of the ELF visibility directives. The other two are
.hidden (see Hidden) and
.internal (see 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