Os documentos do NASM sobre " elf
Extensões da Diretiva GLOBAL" dizem:
Opcionalmente, você pode controlar a visibilidade ELF do símbolo. Basta adicionar uma das palavras-chave de visibilidade:
default
,internal
,hidden
ouprotected
. O padrão édefault
claro.
Onde estes são definidos? e como ld
usá-los? Vejo níveis de acesso mencionados com frequência em C++ que incluem protected , public e private , mas não sei se é isso que o ELF está fazendo referência?
Meu caso de uso é C e Assembly, portanto, se você puder tornar isso relevante para essas duas linguagens e o vinculador, pontos extras.
Parece da fonte do NASM que eles parecem corresponder aos documentos do Oracle "Linker and Libraries Guide" , que parecem corresponder a
STV_DEFAULT
,STV_INTERNAL
,STV_HIDDEN
eSTV_PROTECTED
.Oráculo diz isso:
Quanto ao efeito em C e Assembly, os documentos da Oracle continuam dizendo
Veja também