OP-TEE core and OP-TEE development kit for Trusted Application provide a
standard C library that is named libutils. It implements many
standard functions like
qsort(), and many more but not all standard C library
Note however that Trusted Applications implemented in C should use GP TEE
Internal Core API functions rather than their standard C library function
TEE_MemMove() instead of
TEE_Malloc() instead of
malloc() and friends).
This makes those TAs implementation more portable to other GP
TEE compliant environments.
CFG_ULIBS_SHARED is enabled, libutils is assigned UUID
The TEE Internal Core API describes services that are provided to Trusted Applications. libutee is a library that implements this API.
libutee is designed as a userland library specifically dedicated to OP-TEE Trusted Applications and aims at being executed in the non-privileged secure userspace.
Some services for this API are fully statically implemented inside the libutee library while some services for the API are implemented inside the OP-TEE core (privileged level) and libutee calls such services through system calls.
CFG_ULIBS_SHARED is enabled, libutee is assigned UUID
OP-TEE OS source tree provides support of the Mbed TLS library, named libmbedtls.
A specific build sequence can compile an instance of libmbedtls and link it to OP-TEE core. Another build sequence compiles an instance of libmbedtls that can be linked with Trusted Applications.
When Mbed TLS is embedded in OP-TEE core, it is used as the default software
implementation for most cryptography operations. When so, libtomcrypt is
still used as default software implementation for few crypto operations.
Embedding Mbed TLS in OP-TEE core requires
CFG_ULIBS_SHARED is enabled, libmbedtls userland library is
assigned UUID 87bb6ae8-4b1d-49fe-9986-2b966132c309.
OP-TEE OS source tree implements execution stack back trace debug facilities available to both OP-TEE core and Trusted Applications. The feature relies on a library named libunw.
libunw, when linked to a Trusted Application, is always linked as a static library.
libdl library implement API function
dlclose() used by Trusted Applications to support dynamic shared libraries.
CFG_ULIBS_SHARED is enabled, libdl is assigned UUID