記事 ID: 000058606 コンテンツタイプ: エラーメッセージ 最終改訂日: 2021/08/06

Linux* で sgx_emmt ツールを使用している場合、エンclave のリsgx_emmtが見当たらな

BUILT IN - ARTICLE INTRO SECOND COMPONENT
概要

メモリー使用データを報告できる記号を使用してエンsgx_emmtを生成する方法

詳細
  • sgx-gdbインテル® Software Guard Extensions (インテル® SGX) アプリケーションをデバッグし、メモリーのsgx_emmtに使用
  • スタックの使用量は表示されますが、ピーク時の予約メモリーとメモリーのピークは表示されません。
    [Peak stack used] 7 KB
    [使用するピーク時の大小を取得できません] 記号のエクスポートを制御するためにバージョンスクリプトを使用することができます。バージョンスクリプトでg_peak_heap_used「バージョン」をエクスポートしてください。
    [T't peak committed reserved memory]。 バージョンスクリプトを使用して記号のエクスポートを制御することができます。バージョンスクリプトで「g_peak_rsrv_mem_committed」をエクスポートしてください。
解決方法

Linux* 用 インテル® Software Guard Extensions (インテル® SGX)デベロッパー・リファレンス・ガイドのEnclave Memory Measurement Toolセクションに従って、エンclave のバージョンスクリプトで記号g_peak_heap_usedg_peak_rsrv_mem_committedをエクスポートし、エンクリリーブ・イメージを以下のバージョンスクリプトとリンクします。

Makefileおよびバージョンスクリプトである SampleEnclave インテル SGX SDK のSampleEnclave を参照して、SampleEnclave/Enclave/Enclave.ldsを再利用してください。

  1. 作成 enclave バージョンのスクリプトの内容を含むファイル:

    enclave.so

    {

    グローバル:

    g_global_data_sim;

    g_global_data;

    enclave_entry;

    g_peak_heap_used;

    g_peak_rsrv_mem_committed;

    地元の:

    *;

    };

  2. enclave のソース・ディレクトリーに Enclave.lds としてスクリプトを保存します
  3. リンク バージョンスクリプトを使用したエンclave と 定義 記号 __ImageBase を選択してください。

    $ ld -o enclave.so 1.o file2.o \

    -pie -eenclave_entry -nostdlib -nodefaultlibs – nostartfiles --no-undefined \

    --whole-archive – lsgx_trts --no-whole-archive \

    --start-group – lsgx_tstdc – lsgx_tservice -lsgx_crypto -

    -end-group \

    -Blic -Bsymbolic --defsym=__ImageBase=0 --export大使 \

    --version-script=enclave.lds

追加情報

Linux* 用最新インテル® Software Guard Extensions開発者リファレンス・ガイドは、Linux* 用SDK インテル® Software Guard Extensionsのドキュメントセクションに説明されています

関連製品

本記事の適用対象: 1 製品

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。