mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 02:43:15 +00:00
Mbedtls symbols and more (#508)
This commit is contained in:
parent
d860ba1f34
commit
f0f764baff
@ -10,6 +10,7 @@ list(APPEND PRIV_REQUIRES_LIST
|
|||||||
Tactility
|
Tactility
|
||||||
TactilityCore
|
TactilityCore
|
||||||
TactilityKernel
|
TactilityKernel
|
||||||
|
mbedtls
|
||||||
)
|
)
|
||||||
|
|
||||||
if (DEFINED ENV{ESP_IDF_VERSION})
|
if (DEFINED ENV{ESP_IDF_VERSION})
|
||||||
|
|||||||
5
TactilityC/Private/symbols/mbedtls.h
Normal file
5
TactilityC/Private/symbols/mbedtls.h
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <private/elf_symbol.h>
|
||||||
|
|
||||||
|
extern const esp_elfsym mbedtls_symbols[];
|
||||||
@ -64,8 +64,8 @@ extern long __fixdfdi(double a);
|
|||||||
// extern long long __fixtfti(long double a);
|
// extern long long __fixtfti(long double a);
|
||||||
// extern long long __fixxfti(long double a);
|
// extern long long __fixxfti(long double a);
|
||||||
|
|
||||||
// extern unsigned int __fixunssfsi(float a);
|
extern unsigned int __fixunssfsi(float a);
|
||||||
// extern unsigned int __fixunsdfsi(double a);
|
extern unsigned int __fixunsdfsi(double a);
|
||||||
// extern unsigned int __fixunstfsi(long double a);
|
// extern unsigned int __fixunstfsi(long double a);
|
||||||
// extern unsigned int __fixunsxfsi(long double a);
|
// extern unsigned int __fixunsxfsi(long double a);
|
||||||
|
|
||||||
@ -79,8 +79,8 @@ extern unsigned long __fixunsdfdi(double a);
|
|||||||
// extern unsigned long long __fixunstfti(long double a);
|
// extern unsigned long long __fixunstfti(long double a);
|
||||||
// extern unsigned long long __fixunsxfti(long double a);
|
// extern unsigned long long __fixunsxfti(long double a);
|
||||||
|
|
||||||
// extern float __floatsisf(int i);
|
extern float __floatsisf(int i);
|
||||||
// extern double __floatsidf(int i);
|
extern double __floatsidf(int i);
|
||||||
// extern long double __floatsitf(int i);
|
// extern long double __floatsitf(int i);
|
||||||
// extern long double __floatsixf(int i);
|
// extern long double __floatsixf(int i);
|
||||||
|
|
||||||
@ -146,6 +146,12 @@ int __gtsf2(float a, float b);
|
|||||||
int __gtdf2(double a, double b);
|
int __gtdf2(double a, double b);
|
||||||
// int __gttf2(long double a, long double b);
|
// int __gttf2(long double a, long double b);
|
||||||
|
|
||||||
|
// GCC integer arithmetic helpers (needed on 32-bit targets for 64-bit ops)
|
||||||
|
long long __divdi3(long long a, long long b);
|
||||||
|
long long __moddi3(long long a, long long b);
|
||||||
|
unsigned long long __udivdi3(unsigned long long a, unsigned long long b);
|
||||||
|
unsigned long long __umoddi3(unsigned long long a, unsigned long long b);
|
||||||
|
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
|
|
||||||
const esp_elfsym gcc_soft_float_symbols[] = {
|
const esp_elfsym gcc_soft_float_symbols[] = {
|
||||||
@ -201,8 +207,8 @@ const esp_elfsym gcc_soft_float_symbols[] = {
|
|||||||
// ESP_ELFSYM_EXPORT(__fixtfti),
|
// ESP_ELFSYM_EXPORT(__fixtfti),
|
||||||
// ESP_ELFSYM_EXPORT(__fixxfti),
|
// ESP_ELFSYM_EXPORT(__fixxfti),
|
||||||
|
|
||||||
// ESP_ELFSYM_EXPORT(__fixunssfsi),
|
ESP_ELFSYM_EXPORT(__fixunssfsi),
|
||||||
// ESP_ELFSYM_EXPORT(__fixunsdfsi),
|
ESP_ELFSYM_EXPORT(__fixunsdfsi),
|
||||||
// ESP_ELFSYM_EXPORT(__fixunstfsi),
|
// ESP_ELFSYM_EXPORT(__fixunstfsi),
|
||||||
// ESP_ELFSYM_EXPORT(__fixunsxfsi),
|
// ESP_ELFSYM_EXPORT(__fixunsxfsi),
|
||||||
|
|
||||||
@ -216,8 +222,8 @@ const esp_elfsym gcc_soft_float_symbols[] = {
|
|||||||
// ESP_ELFSYM_EXPORT(__fixunstfti),
|
// ESP_ELFSYM_EXPORT(__fixunstfti),
|
||||||
// ESP_ELFSYM_EXPORT(__fixunsxfti),
|
// ESP_ELFSYM_EXPORT(__fixunsxfti),
|
||||||
|
|
||||||
// ESP_ELFSYM_EXPORT(__floatsisf),
|
ESP_ELFSYM_EXPORT(__floatsisf),
|
||||||
// ESP_ELFSYM_EXPORT(__floatsidf),
|
ESP_ELFSYM_EXPORT(__floatsidf),
|
||||||
// ESP_ELFSYM_EXPORT(__floatsitf),
|
// ESP_ELFSYM_EXPORT(__floatsitf),
|
||||||
// ESP_ELFSYM_EXPORT(__floatsixf),
|
// ESP_ELFSYM_EXPORT(__floatsixf),
|
||||||
|
|
||||||
@ -283,6 +289,12 @@ const esp_elfsym gcc_soft_float_symbols[] = {
|
|||||||
ESP_ELFSYM_EXPORT(__gtdf2),
|
ESP_ELFSYM_EXPORT(__gtdf2),
|
||||||
// ESP_ELFSYM_EXPORT(__gttf2),
|
// ESP_ELFSYM_EXPORT(__gttf2),
|
||||||
|
|
||||||
|
// GCC integer arithmetic helpers
|
||||||
|
ESP_ELFSYM_EXPORT(__divdi3),
|
||||||
|
ESP_ELFSYM_EXPORT(__moddi3),
|
||||||
|
ESP_ELFSYM_EXPORT(__udivdi3),
|
||||||
|
ESP_ELFSYM_EXPORT(__umoddi3),
|
||||||
|
|
||||||
ESP_ELFSYM_END
|
ESP_ELFSYM_END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
100
TactilityC/Source/symbols/mbedtls.cpp
Normal file
100
TactilityC/Source/symbols/mbedtls.cpp
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#include <private/elf_symbol.h>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
|
#include <symbols/mbedtls.h>
|
||||||
|
|
||||||
|
#include <mbedtls/ctr_drbg.h>
|
||||||
|
#include <mbedtls/entropy.h>
|
||||||
|
#include <mbedtls/cipher.h>
|
||||||
|
#include <mbedtls/md.h>
|
||||||
|
#include <mbedtls/bignum.h>
|
||||||
|
#include <mbedtls/rsa.h>
|
||||||
|
#include <mbedtls/pk.h>
|
||||||
|
#include <mbedtls/ecp.h>
|
||||||
|
#include <mbedtls/ecdsa.h>
|
||||||
|
#include <mbedtls/ecdh.h>
|
||||||
|
#include <mbedtls/error.h>
|
||||||
|
|
||||||
|
const esp_elfsym mbedtls_symbols[] = {
|
||||||
|
// CTR_DRBG (random number generation)
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ctr_drbg_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ctr_drbg_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ctr_drbg_seed),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ctr_drbg_random),
|
||||||
|
// Entropy
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_entropy_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_entropy_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_entropy_func),
|
||||||
|
// Cipher
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_setup),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_setkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_set_iv),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_reset),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_update),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_finish),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_get_block_size),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_cipher_info_from_type),
|
||||||
|
// Message digest / HMAC
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_setup),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_starts),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_update),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_finish),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_hmac_starts),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_hmac_update),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_hmac_finish),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_md_info_from_type),
|
||||||
|
// Bignum (MPI)
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_read_binary),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_write_binary),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_size),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_bitlen),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_lset),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_set_bit),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_fill_random),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_mpi_exp_mod),
|
||||||
|
// RSA
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_copy),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_get_len),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_check_pubkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_check_privkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_pkcs1_sign),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_rsa_pkcs1_verify),
|
||||||
|
// Public key abstraction
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_pk_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_pk_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_pk_get_type),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_pk_parse_key),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_pk_parse_keyfile),
|
||||||
|
// ECP (elliptic curves)
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_group_load),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_point_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_point_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_point_read_binary),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_point_write_binary),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_check_pubkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_check_privkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecp_mul),
|
||||||
|
// ECDSA
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_init),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_free),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_genkey),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_from_keypair),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_sign),
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdsa_verify),
|
||||||
|
// ECDH
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_ecdh_compute_shared),
|
||||||
|
// Error strings
|
||||||
|
ESP_ELFSYM_EXPORT(mbedtls_strerror),
|
||||||
|
// delimiter
|
||||||
|
ESP_ELFSYM_END
|
||||||
|
};
|
||||||
@ -23,6 +23,7 @@
|
|||||||
#include "symbols/esp_http_client.h"
|
#include "symbols/esp_http_client.h"
|
||||||
#include "symbols/freertos.h"
|
#include "symbols/freertos.h"
|
||||||
#include "symbols/gcc_soft_float.h"
|
#include "symbols/gcc_soft_float.h"
|
||||||
|
#include "symbols/mbedtls.h"
|
||||||
#include "symbols/pthread.h"
|
#include "symbols/pthread.h"
|
||||||
#include "symbols/stl.h"
|
#include "symbols/stl.h"
|
||||||
#include "symbols/string.h"
|
#include "symbols/string.h"
|
||||||
@ -40,8 +41,12 @@
|
|||||||
#include <esp_netif.h>
|
#include <esp_netif.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <lwip/sockets.h>
|
#include <lwip/sockets.h>
|
||||||
|
#include <lwip/netdb.h>
|
||||||
|
#include <lwip/inet.h>
|
||||||
|
#include <sys/select.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
|
#include <strings.h>
|
||||||
#include <sys/errno.h>
|
#include <sys/errno.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/unistd.h>
|
#include <sys/unistd.h>
|
||||||
@ -80,10 +85,13 @@ const esp_elfsym main_symbols[] {
|
|||||||
ESP_ELFSYM_EXPORT(close),
|
ESP_ELFSYM_EXPORT(close),
|
||||||
ESP_ELFSYM_EXPORT(rmdir),
|
ESP_ELFSYM_EXPORT(rmdir),
|
||||||
ESP_ELFSYM_EXPORT(unlink),
|
ESP_ELFSYM_EXPORT(unlink),
|
||||||
|
// strings.h
|
||||||
|
ESP_ELFSYM_EXPORT(explicit_bzero),
|
||||||
// time.h
|
// time.h
|
||||||
ESP_ELFSYM_EXPORT(clock_gettime),
|
ESP_ELFSYM_EXPORT(clock_gettime),
|
||||||
ESP_ELFSYM_EXPORT(strftime),
|
ESP_ELFSYM_EXPORT(strftime),
|
||||||
ESP_ELFSYM_EXPORT(time),
|
ESP_ELFSYM_EXPORT(time),
|
||||||
|
ESP_ELFSYM_EXPORT(difftime),
|
||||||
ESP_ELFSYM_EXPORT(localtime_r),
|
ESP_ELFSYM_EXPORT(localtime_r),
|
||||||
ESP_ELFSYM_EXPORT(localtime),
|
ESP_ELFSYM_EXPORT(localtime),
|
||||||
// esp_sntp.h
|
// esp_sntp.h
|
||||||
@ -364,6 +372,12 @@ const esp_elfsym main_symbols[] {
|
|||||||
ESP_ELFSYM_EXPORT(lwip_accept),
|
ESP_ELFSYM_EXPORT(lwip_accept),
|
||||||
ESP_ELFSYM_EXPORT(lwip_getsockname),
|
ESP_ELFSYM_EXPORT(lwip_getsockname),
|
||||||
ESP_ELFSYM_EXPORT(lwip_send),
|
ESP_ELFSYM_EXPORT(lwip_send),
|
||||||
|
ESP_ELFSYM_EXPORT(lwip_connect),
|
||||||
|
ESP_ELFSYM_EXPORT(lwip_select),
|
||||||
|
ESP_ELFSYM_EXPORT(lwip_gethostbyname),
|
||||||
|
ESP_ELFSYM_EXPORT(ipaddr_addr),
|
||||||
|
// POSIX socket names (VFS wrappers used when apps include <sys/socket.h>)
|
||||||
|
ESP_ELFSYM_EXPORT(select),
|
||||||
// sys/stat.h
|
// sys/stat.h
|
||||||
ESP_ELFSYM_EXPORT(stat),
|
ESP_ELFSYM_EXPORT(stat),
|
||||||
ESP_ELFSYM_EXPORT(mkdir),
|
ESP_ELFSYM_EXPORT(mkdir),
|
||||||
@ -418,6 +432,7 @@ uintptr_t tt_symbol_resolver(const char* symbolName) {
|
|||||||
string_symbols,
|
string_symbols,
|
||||||
esp_event_symbols,
|
esp_event_symbols,
|
||||||
esp_http_client_symbols,
|
esp_http_client_symbols,
|
||||||
|
mbedtls_symbols,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto* symbols : all_symbols) {
|
for (const auto* symbols : all_symbols) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user