問題タブ [elf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
18134 参照

linux - どの ELF 依存関係が満たされていないかを見つけるにはどうすればよいですか?

LSB SDK を使用してテスト ELF プログラムを作成しました (私の質問は LSB に固有のものではないことに注意してください)。

しかし、私はそれを起動できません (はい、ファイルディレクトリにあることを保証します... ):

満たされていないELF依存関係があると思いますが、それを見つける方法がわかりません。ミッシングリンクを見つけるために使用できるライブラリ用の ldd に似たツールはありますか?

LSB コンパイラが動作しているため、2.6.15/2.6.28-15 の違いとは関係ないと思います。

念のため、a.out の ELF 動的セクションを次に示します。

0 投票する
2 に答える
1387 参照

arrays - リンカー ファイルの .bss セクションでの静的配列の整列

私は機能を持っています:

およびリンカー ファイル:

4 バイト境界に揃えるために静的配列 (.bss データ) が必要ですが、配列はそうするのを拒否しているようです。構造体とプリミティブ型は問題なく配置されていますが (塗りつぶしの行を参照)、配列はすべて終わっています。これが私のマップファイルです:

配列を整列する方法を知っている人はいますか?

0 投票する
4 に答える
1286 参照

linux - オンデマンドで ELF セクションをロード/アンロードしますか?

かなりあいまいなユースケースの場合、小さな制御コードと大きな静的 (読み取り専用) データで構成される (大きな) 静的にリンクされた Linux 実行可能ファイルが必要です。メモリを節約するために、ローダーに制御コードのセクションのみをロードさせ、必要に応じて RO データのセクションを手動でロードし、処理が完了したら再度アンロードすることは可能ですか?

これは可能ですか?

(これを解決するために(ファイルシステムレベルの)データストリームを使用できると思いますが、それらは私には利用できず(EXT3)、データストリームは簡単に失われるため、配布は難しいでしょう。)

0 投票する
3 に答える
118514 参照

linux - LinuxでELFファイルのデータセクションの内容を調べるにはどうすればよいですか?

私はobjdumpLinuxELFバイナリのアセンブリコードを調べるために使用してきました。

rodata(読み取り専用データ)セクションに格納されているジャンプテーブルを介した間接ジャンプがある場合があります。

このデータセクションの内容を表示するための取得方法objdumpやその他のツールはありますか?

プログラムを実行してデバッガーで関連するアドレスを調べることはできますが、インタラクティブに実行する必要があるため、実行したくありません。

理想的な答えは、コンテンツを表示するだけでなく、表示形式を制御できるツールを特定することですod

0 投票する
3 に答える
5880 参照

c++ - Linux上のCでのChar配列とポインタのセグメンテーション違反

だから私は次のプログラムを持っています:

「one[1]='b'」の行でセグフォールトします。これは、ポインタ「one」が指すメモリが読み取り専用メモリにある必要があるため、意味があります。ただし、問題は、「two [1]='b'」という行がセグメンテーション違反ではないのはなぜかということです。gccからのアセンブリ出力を見てください。

両方の文字列がrodataセクションにあるため、読み取り専用であることがわかります。では、どうして「two [1]='b'」という行がセグメンテーション違反にならないのでしょうか。

0 投票する
4 に答える
6631 参照

linux - Linux ユーザー空間 ELF ローダー

私はかなり珍しいことをする必要があります: elf 実行可能ファイルを手動で実行します。つまり、すべてのセクションを適切な場所にロードし、main() を照会して呼び出します (その後、クリーンアップします)。実行可能ファイルは静的にリンクされるため、ライブラリをリンクする必要はありません。ベースアドレスも管理しているので競合の心配はありません。

それで、そのためのライブラリはありますか?

OSKit とその liboskit_exec を見つけましたが、プロジェクトは 2002 年以来死んでいるようです。

プロジェクトの一部を取り (もちろんライセンスを尊重して)、自分のニーズに合わせて調整することは問題ありませんが、私は Linux の世界では初心者なので、それらの部分がどこにあるかさえ知りません! :)

PS。ARMプラットフォームにはそれが必要です。

UPDうーん、elfs をロードするという問題は、それについての十分な知識が必要なようです (ため息)。それで、仕様書とマニュアルを読みに行きます。そして、bionic/linker と libelfsh に固執すると思います。みんなありがとう!

要約された調査結果:

0 投票する
2 に答える
2699 参照

c++ - ソースコードをelfファイルに追加

C++ ソース コードを対応するバイナリ ファイルに追加したいのですが、elfこれを行う最善の方法を探しています。(私は自分のコードのいくつかのバージョンを使用していますが、すべてのバージョンを svn にコミットする必要はありません)。

elfbash の>>演算子を使用してファイルを破棄せずに、ソース コードを追加することはできますか? またはobjcopy --add-section、これを行う方法はありますか?

ところで、使用されているすべてのソース コード ファイルを決定するために、ソース コード ファイルからgrepすべての行を再帰的に 'ing するほうがよい考えはありますか?#include

0 投票する
1 に答える
4235 参照

linux - '-rpath-link'オプションを尊重しないのはなぜですか?

私はstraceを使用してこれを検出します:


よくわかりません; -rpath-linkマニュアルによると、最初はパスで見つけようとする必要があります。

0 投票する
4 に答える
17660 参照

windows - Linux では COFF、Windows では ELF

UNIX で COFF 実行可能ファイルを実行したり、Windows で ELF 実行可能ファイルを実行したりすることはできますか? また、Windows と UNIX でいずれかのファイル タイプを実行できるようにするための手順は何でしょうか。私はただ興味があります。

0 投票する
1 に答える
989 参照

gdb - Solaris10のGNUgdb6.4で認識されないファイル形式

以下の詳細は、Solaris10を実行しているSunマシンでのセッションからのものです。

gdbがファイル形式を認識しない理由の詳細はdevli?インターネットで検索しましたが、この特定の問題に関連するものは見つかりませんでした。任意のポインタが役立ちます。

a.cに入るa、gccを使用して構築された; devliSun ONEStudio8を使用します。