Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.

what is the role of the lib which named sgx_tsgxssl?

Zhang__Huiqiang
Beginner
497 Views

When i make my project after i add "-Wl,--whole-archive -lsgx_tsgxssl " ,as flows:

Wolfssl_Enclave_Link_Flags := $(SGX_COMMON_CFLAGS) -L$(SGXSSL_TRUSTED_LIB_PATH)\
    -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L$(SGX_LIBRARY_PATH) \
    -L$(SGX_RA_TLS_LIB) -lsgx_ra_tls_wolfssl \
    -L$(SGX_WOLFSSL_LIB) -lwolfssl.sgx.static.lib \
    -Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive \
    -Wl,--whole-archive -lsgx_tsgxssl \
    -Wl,--no-whole-archive -lsgx_tsgxssl_crypto \
    -Wl,--start-group -lsgx_tstdc -lsgx_tcxx -l$(Crypto_Library_Name) -l$(Service_Library_Name) -Wl,--end-group \
    -Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined \
    -Wl,-pie,-eenclave_entry -Wl,--export-dynamic  \
    -Wl,--defsym,__ImageBase=0 -Wl,--gc-sections\
    -Wl,--version-script=$(Enclave_Version_Script)

and the part of report as flows:

-m64 -maes -O0 -g -L/opt/intel/sgxssl/lib64 -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L/opt/intel/sgxsdk/lib64 -L/opt/sgx_main/ai_security_lkl/sgx-ra-scale -lsgx_ra_tls_wolfssl -L/opt/sgx_main/ai_security_lkl/sgx-ra-scale/deps/wolfssl/IDE/LINUX-SGX -lwolfssl.sgx.static.lib -Wl,--whole-archive -lsgx_trts -Wl,--no-whole-archive -Wl,--whole-archive -lsgx_tsgxssl -Wl,--no-whole-archive -lsgx_tsgxssl_crypto -Wl,--start-group -lsgx_tstdc -lsgx_tcxx -lsgx_tcrypto -lsgx_tservice -Wl,--end-group -Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-pie,-eenclave_entry -Wl,--export-dynamic -Wl,--defsym,__ImageBase=0 -Wl,--gc-sections -Wl,--version-script=trusted/Wolfssl_Enclave_debug.lds@
/opt/intel/sgxsdk/lib64/libsgx_tstdc.a(se_cpuid.o): In function `sgx_cpuid':
se_cpuid.c:(.text.sgx_cpuid+0x8): undefined reference to `sgx_oc_cpuidex'
 

and after i removed the line "-Wl,--whole-archive -lsgx_tsgxssl \", make success. Why?

 

 

0 Kudos
3 Replies
Zhang__Huiqiang
Beginner
497 Views

I have resloved this problem after i add "from "sgx_tsgxssl.edl" import *;" in my edl file.

0 Kudos
Junli_S_Intel
Employee
497 Views

when you use sgx_tsgxssl, you need add "sgx_tsgxssl.edl" to your edl file.

0 Kudos
Zhang__Huiqiang
Beginner
497 Views

hi,@JUNLI S , I have resloved this problem, thank you very much.

0 Kudos
Reply