.so가 -Bsymbolic-functions 플래그로 컴파일되었는지 확인하는 방법이 있습니까?

.so가 -Bsymbolic-functions 플래그로 컴파일되었는지 확인하는 방법이 있습니까?

dlopen내 애플리케이션은 사용자 정의 코드를 동적으로 로드합니다. 일반적으로 사용되는 기호의 경우 기본적으로 전역 기호 테이블이 사용됩니다.

그러나 나는 다음과 같은 기능을 제공하고 싶습니다. 사용자가 연결한 경우 함수 에 플래그를 전달 -Bsymbolic-functions합니다 .RTLD_DEEPBINDdlopen

-Bsymbolic-functions.so가 C와 연결되어 있는지 프로그래밍 방식으로 알 수 있는 방법이 있습니까 ?

답변1

표준 ELF 프로그램 덤프를 사용할 수 있습니다.

dump -Lv libxxx.so | grep SYMBOLIC

답변2

라는 명령이 있습니다.나노미터

nm - 객체 파일의 기호 나열

다음 명령을 사용할 수 있습니다.

nm Absolute_path_of_.so_file_name | grep -i -Bsymbolic-functions

관련 정보