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

sgx_uprotected_fs.lib and unresolved __intel_sse2_strnlen dependency

Jan_P_
Beginner
578 Views

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
578 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.

 

0 Kudos
Jan_P_
Beginner
578 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...

0 Kudos
Jan_P_
Beginner
578 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.

0 Kudos
Reply