Cara membuat gambar enklave dengan simbol yang memungkinkan sgx_emmt melaporkan data penggunaan memori
- Men-debug aplikasi Intel® Software Guard Extensions (Intel® SGX) dengan sgx-gdb dan menggunakan sgx_emmt untuk melihat penggunaan memori
- Penggunaan tumpukan ditampilkan, tetapi tumpukan puncak dan memori cadangan yang berkomitmen tidak ditampilkan:
[Peak stack used]: 7 KB
[Can't get peak heap used]: You may use version script to control symbol export. Please export 'g_peak_heap_used' in your version script.
[Can't get peak committed reserved memory]: You may use version script to control symbol export. Please export 'g_peak_rsrv_mem_committed' in your version script.
Menurut bagian Alat Pengukuran Memori Enclave dari Panduan Referensi Pengembang Intel® Software Guard Extensions (Intel® SGX) untuk Linux*, ekspor simbol g_peak_heap_used dan g_peak_rsrv_mem_committed dalam skrip versi enklave, lalu tautkan gambar enklave dengan skrip versi seperti yang dijelaskan di bawah ini.
Lihat SampleEnclave di Intel SGX SDK untuk menggunakan kembali skrip Makefile dan versinya, SampleEnclave/Enclave/Enclave.lds.
- Buat file dengan konten skrip versi enklave:
enclave.so
{
global:
g_global_data_sim;
g_global_data;
enclave_entry;
g_peak_heap_used;
g_peak_rsrv_mem_committed;
local:
*;
};
- Simpan skrip dalam direktori sumber enclave sebagai Enclave.lds.
- Tautkan enklave dengan skrip versi dan tentukan simbol yang __ImageBase di Makefile, mirip dengan:
$ ld -o enclave.so file1.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 \
-Bstatic -Bsymbolic --defsym=__ImageBase=0 --exportdynamic \
--version-script=enclave.lds
Panduan Referensi Pengembang Intel® Software Guard Extensions terbaru untuk Linux* ada di bagian Dokumentasi rilis terbaru dalam SDK untuk Linux* Intel® Software Guard Extensions.