'readelf -d |'를 사용할 수 있다는 것을 알고 있습니다. grep RPATH '를 사용하여 쉘에서 주어진 바이너리를 검사 할 수 있지만 프로세스 내에서이를 수행 할 수 있습니까? 같은Linux에서 현재 rpath를 검사 할 수있는 방법이 있습니까?
뭔가 (내 완전히 만든 시스템 호출) :
/* get a copy of current rpath into buffer */
sys_get_current_rpath(&buffer);
내가 SO 우리의 코드베이스에 문제를 연결하는 몇 가지 의심을 진단하기 위해 노력하고있어 및 RPATH이 방법 가능한 경우를 검사하고 싶습니다 (I 오히려 외부 스크립트를 생성 할 필요가 없음).
그것은 훌륭하지만 $ ORIGIN에서는 작동하지 않습니다. $ ORIGIN은 해석되지 않고 함수에 의해 그대로 반환됩니다. $ ORIGIN 해석을 추가 할 수있는 방법이 있습니까? –
@ Jérôme'/ proc'가 마운트 된 환경에서 실행하면'$ ORIGIN'을 확장하는 것은'readlink ("/ proc/self/exe", ...)처럼 간단합니다. 그런 다음 NUL-terminate at 마지막 슬래시. –