I'm aware that it is possible to use readelf -d <elf> | grep RPATH
to inspect a given binary from the shell, but is it possible to do this within a process?
Something like (my completely made up system call):
/* get a copy of current rpath into buffer */
sys_get_current_rpath(&buffer);
I'm trying to diagnose some suspect SO linking issues in our codebase, and would like to inspect the RPATH this way if possible (I'd rather not have to spawn an external script).
For the record, here are a couple of commands that will show the rpath
header.
objdump -x binary-or-library |grep RPATH
Maybe an even better way to do it is the following:
readelf -d binary-or-library |head -20
The second command also lists the direct dependencies on other libraries followed by rpath
.