### 7.90 `.protected` names

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 this.