Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Jan_P_
Beginner
118 Views

sgx_uprotected_fs.lib and unresolved __intel_sse2_strnlen dependency

Hello,

I am using sgx_protected_fs library in my enclave and application. I use VS2015 and MS compiler chain. I am able to link with sgx_tprotected_fs.lib in my enclave project. However, linking the application with sgx_uprotected_fs.lib only works with the DEBUG build of the library. The release version has missing dependency of __intel_sse2_strnlen function. I am using SGX SDK 1.8 on Windows 10 and VS2015.

Is there any way to resolve this problem with non-Intel compiler tools?

Jan

0 Kudos
3 Replies
Anusha_K_Intel
Employee
118 Views

hi,

I think _intel_sse2_strlen is defined in Intel's libirc.lib. And this library is required for running the sgx_uprotected_fs.lib. Try linking the library and check if it works.

 

Jan_P_
Beginner
118 Views

Hi, thanks for info. Does this mean that if I want to use sgx_uprotected_fs.lib I must be using Intel C/C++ toolchain? (libirc.lib is not part of MSDN neither could I locate it elsewhere). I was hoping for some compilation switch that would use normal strnlen instead of __intel_sse2_strnlen...

Jan_P_
Beginner
118 Views

Hi,

I confirm that linking with libirc.lib solves the linking problem for using sgx_protected_fs.lib in release build in VS2015. I had to download Intel Parellel Studio XE and use the libirc.lib, which is shipped with it. 

I would suggest Intel team makes this library included in the SGX SDK to enable seamless usage of protected filesystem without further config settings.

Reply