JITを使用して正常に機能するいくつかの例外処理があります。現在、オブジェクト ファイルを作成してリンクしていますが、例外処理テーブルがないようです。私は呼び出し、結果として_Unwind_RaiseException
取得
します。_URC_END_OF_STACK
を使用してオブジェクト ファイルを生成しTargetMachine::addPassesToEmitFile
、結果のファイルを次のようにリンクします。
gcc -Wl,--eh-frame-hdr -o prog input.o
ドワーフ テーブルを生成するためのオプションが欠落しているだけだと確信していますが、それが何であるかはわかりません。JITExceptionHandling
私が設定したJITバージョンについては
JITEmitDebugInfo
、TargetOptions
.
各ステップを確認するために、LL (LLVM-IR) ファイルも出力しました。これにはランディングパッド/呼び出し命令があることを確認しました。次に、ツールを使用してllc
から GCC を使用してリンクします。この組み合わせも、望ましい結果を生み出しません。
これを正しく行うために欠落しているオプションはどれですか?