Intel® Software Guard Extensions (Intel® SGX)
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

from "some.edl" import * EXCEPT...

AArya2
New Contributor I
287 Views

I have the following imports in my enclave definition:

from "sgx_tstdc.edl" import *;
from "sgx_tprotected_fs.edl" import *;

It results in the following errors:

2>CUSTOMBUILD : error : multiple definition of function "sgx_oc_cpuidex" detected.
1>CUSTOMBUILD : error : multiple definition of function "sgx_oc_cpuidex" detected.

What causes this?

If it is because both edl's are defining "sgx_oc_cpuidex", is there a way to exclude that particular function from the set of things imported from one of the edl's? I mean a compact way, without having to enumerate every single function that we WANT to import.

 

0 Kudos
1 Solution
Juan_d_Intel
Employee
287 Views

Unfortunately the EDL doesn't support something like the exclude keyword.

Since sgx_tprotected_fs.edl imports everything from sgx_tae_service.edl, which in turn, imports everything from sgx_tstdc.edl, I think it would be easier if you just remove from "sgx_tstdc.edl" import *; from your enclave EDL.

View solution in original post

1 Reply
Juan_d_Intel
Employee
288 Views

Unfortunately the EDL doesn't support something like the exclude keyword.

Since sgx_tprotected_fs.edl imports everything from sgx_tae_service.edl, which in turn, imports everything from sgx_tstdc.edl, I think it would be easier if you just remove from "sgx_tstdc.edl" import *; from your enclave EDL.

Reply