8.66. .protected names

This one of the ELF visibility directives. The other two are .hidden (refer to Section 8.40 .hidden names) and .internal (refer to Section 8.47 .internal names).

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.