Existe uma maneira de verificar se um .so foi compilado com o sinalizador -Bsymbolic-functions?

5

Meu aplicativo carrega código personalizado usando dlopen na hora. Para símbolos comuns, a tabela de símbolos globais é usada por padrão.

No entanto, desejo fornecer a funcionalidade onde - se o usuário tiver vinculado o seu com -Bsymbolic-functions , eu passo o sinalizador RTLD_DEEPBIND para a função dlopen .

Existe uma maneira de saber programaticamente se um .so está vinculado a -Bsymbolic-functions ou não está usando C?

    
por amisax 20.07.2015 / 07:05

2 respostas

2

Você pode usar o dump padrão do programa ELF:

dump -Lv libxxx.so | grep SYMBOLIC

    
por 02.09.2015 / 20:20
0

Existe um comando chamado nm

nm - list symbols from object files

Você pode usar o comando

nm Absolute_path_of_.so_file_name | grep -i -Bsymbolic-functions
    
por 02.09.2015 / 09:40