[解決済み] Linuxで現在のrpathを検査するプログラム的な方法はありますか?
2022-12-10 04:34:27
質問
を使用することが可能であることは承知しています。
readelf -d <elf> | grep RPATH
を使用してシェルから与えられたバイナリを検査することが可能であることは知っていますが、プロセス内でこれを行うことは可能でしょうか?
のようなものです (私の完全に作り上げたシステムコール)。
/* get a copy of current rpath into buffer */
sys_get_current_rpath(&buffer);
私は、私たちのコードベースでいくつかの疑わしいSOリンクの問題を診断しようとしており、可能であればこの方法でRPATHを検査したいと思います(私はむしろ、外部スクリプトを起動する必要はありません)。
どのように解決するのですか?
#include <stdio.h>
#include <elf.h>
#include <link.h>
int main()
{
const ElfW(Dyn) *dyn = _DYNAMIC;
const ElfW(Dyn) *rpath = NULL;
const char *strtab = NULL;
for (; dyn->d_tag != DT_NULL; ++dyn) {
if (dyn->d_tag == DT_RPATH) {
rpath = dyn;
} else if (dyn->d_tag == DT_STRTAB) {
strtab = (const char *)dyn->d_un.d_val;
}
}
if (strtab != NULL && rpath != NULL) {
printf("RPATH: %s\n", strtab + rpath->d_un.d_val);
}
return 0;
}
関連
-
LinuxでSteamをダウンロードしインストールする方法
-
Vmware 16仮想マシンを開けない場合、ファイルをローカルにコピーする方法は?
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ずっとUTF-8
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] Linux, Bashで、現在の時刻をEpochからの秒数で取得する。
-
[解決済み] LinuxでCPU/コアの数をコマンドラインから取得する方法は?
-
[解決済み] ディレクトリ構造をツリー形式で表示するLinuxコマンド
-
[解決済み] Linux で非 root プロセスが "特権" ポートにバインドする方法はありますか?
-
[解決済み] Linuxの標準的な終了ステータスコードはありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
LinuxでPingを無効にする、または許可する設定方法
-
Linux ddコマンド詳細説明:データのバックアップ、およびバックアッププロセスでのフォーマット変換のケース
-
ロックされたdeepinファイルを削除する方法は?deepinのロック付きファイルを削除する方法のヒント
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] CPAN.pmが@INCに見つからない(@INCには含まれています。/usr/local/lib/perl5 /usr/local/share/perl5。
-
[解決済み] bash sh - command not found [重複].
-
[解決済み] mkdirのオプションが明確でない
-
[解決済み] bashスクリプトでset -eはどういう意味ですか?