Support for Ubuntu 18.04 LTS 64-bit Desktop and Server version
Provided a new set of SGX common loader APIs in sgx_enclave_common.h
Provided the sample code for Switchless Call
Provided a new API in tcrypto: sgx_ecc256_calculate_pub_from_priv
sgx_create_enclave API will ignore the parameter of launch token and will not update it after function successfully returns
Change Intel SGX PSW installer for Ubuntu by
- Using .deb installer.
- Using name libsgx-enclave-common_{version string}-1_amd64.deb.
- Installing Intel SGX Enclave Common loader library.
Bug fixes
Signed-off-by: Li, Xun <xun.li@intel.com>
The libc implementation newlib defines these symbols and causes a compiler error. Per the standard (ISO 9899:1999 reserved identifiers section), any identifier beginning with two underscores or an underscore and a capital letter is reserved for libc. The definitions are not used anywhere in the source code either.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
The load_regs assembly function uses its caller's frame pointer.
C/C++ compilers are allowed to make optimizations to their
representation of the stack, and frequently omit the frame pointer.
The functions _EEXIT in t_instructions.cpp and _SE3 in
u_instructions.cpp both call load_regs, and thus should be the only ones
that should be affected by deoptimization.
Even -O0 may omit the frame pointer (indeed we found this to be the case
when compiling with GCC 7.3.0), so this change also makes that requirement
explicit by by means of -fno-omit-frame-pointer.
The analogous attribute for -fno-omit-frame-pointer is not available in
clang, so the clang version of the LOAD_REGS_ATTRIBUTES is simply
[[clang:optnone]].
An added bonus of switching the -O0 flag over to an attribute in source
code is that alternate build tools are easier to port to :)
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
Document that _mm_pause definition requires -ffreestanding.
Guard the definition of __STDC_FORMAT_MACROS with #ifndef/#endif.
Consistently refer to std::hex with std:: qualification in SignTool.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
CodeGen.ml checks whether a plugin is available and if so, invoked the plugin to emit edge routines.
Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
The C_OBJS is forgotten to link OBJS togeter in Makefile.
This mistake causes a build failure on SampleCode/RemoteAttestation:
/opt/intel/sgxsdk/SampleCode/RemoteAttestation/sample_libcrypto/libsample_libcrypto.so:
undefined reference to `sgx_disp_ippsAES_GCMGetTag'
/opt/intel/sgxsdk/SampleCode/RemoteAttestation/sample_libcrypto/libsample_libcrypto.so:
undefined reference to `sgx_disp_ippsAES_GCMGetSize'
...
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
After months of debugging to find the source of the interrupt, this
is the middle ground solution to make progress.
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>