mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
Export more symbols (#476)
* **Export more symbols:** * Expanded standard library support with additional math functions (trigonometric, exponential, and rounding operations), string comparison, directory operations, and locale configuration * Added C++ static initialization guard utilities to enhance object initialization support
This commit is contained in:
parent
1f9e7f82fd
commit
1a61eac8e0
@ -7,12 +7,22 @@ extern "C" {
|
||||
extern void* _Znwj(uint32_t size); // operator new(unsigned int)
|
||||
extern void _ZdlPvj(void* p, uint64_t size); // operator delete(void*, unsigned int)
|
||||
extern void __cxa_pure_virtual();
|
||||
// cxx_guards.cpp
|
||||
extern int __cxa_guard_acquire(void* pg);
|
||||
extern void __cxa_guard_release(void* pg) throw();
|
||||
extern void __cxa_guard_abort(void* pg) throw();
|
||||
extern void __cxa_guard_dummy(void);
|
||||
}
|
||||
|
||||
const esp_elfsym cplusplus_symbols[] = {
|
||||
ESP_ELFSYM_EXPORT(_Znwj), // operator new(unsigned int)
|
||||
ESP_ELFSYM_EXPORT(_ZdlPvj), // operator delete(void*, unsigned int)
|
||||
// cxx_guards
|
||||
ESP_ELFSYM_EXPORT(__cxa_pure_virtual), // class-related, see https://arobenko.github.io/bare_metal_cpp/
|
||||
ESP_ELFSYM_EXPORT(__cxa_guard_acquire),
|
||||
ESP_ELFSYM_EXPORT(__cxa_guard_release),
|
||||
ESP_ELFSYM_EXPORT(__cxa_guard_abort),
|
||||
ESP_ELFSYM_EXPORT(__cxa_guard_dummy),
|
||||
// delimiter
|
||||
ESP_ELFSYM_END
|
||||
};
|
||||
|
||||
@ -35,24 +35,22 @@
|
||||
#include <ctime>
|
||||
#include <ctype.h>
|
||||
#include <getopt.h>
|
||||
#include <setjmp.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/unistd.h>
|
||||
|
||||
#include <dirent.h>
|
||||
#include <esp_log.h>
|
||||
#include <esp_random.h>
|
||||
#include <esp_sntp.h>
|
||||
#include <esp_netif.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
#include <fcntl.h>
|
||||
#include <lwip/sockets.h>
|
||||
#include <locale.h>
|
||||
#include <setjmp.h>
|
||||
#include <sys/errno.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/unistd.h>
|
||||
#include <vector>
|
||||
|
||||
#include <Tactility/Tactility.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
bool module_parent_resolve_symbol(ModuleParent* pParent, const char* name, uintptr_t* pInt);
|
||||
extern "C" {
|
||||
|
||||
@ -90,8 +88,30 @@ const esp_elfsym main_symbols[] {
|
||||
// esp_sntp.h
|
||||
ESP_ELFSYM_EXPORT(sntp_get_sync_status),
|
||||
// math.h
|
||||
ESP_ELFSYM_EXPORT(atan),
|
||||
ESP_ELFSYM_EXPORT(cos),
|
||||
ESP_ELFSYM_EXPORT(sin),
|
||||
ESP_ELFSYM_EXPORT(tan),
|
||||
ESP_ELFSYM_EXPORT(tanh),
|
||||
ESP_ELFSYM_EXPORT(frexp),
|
||||
ESP_ELFSYM_EXPORT(modf),
|
||||
ESP_ELFSYM_EXPORT(ceil),
|
||||
ESP_ELFSYM_EXPORT(fabs),
|
||||
ESP_ELFSYM_EXPORT(floor),
|
||||
#ifndef _REENT_ONLY
|
||||
ESP_ELFSYM_EXPORT(acos),
|
||||
ESP_ELFSYM_EXPORT(asin),
|
||||
ESP_ELFSYM_EXPORT(atan2),
|
||||
ESP_ELFSYM_EXPORT(cos),
|
||||
ESP_ELFSYM_EXPORT(sinh),
|
||||
ESP_ELFSYM_EXPORT(exp),
|
||||
ESP_ELFSYM_EXPORT(ldexp),
|
||||
ESP_ELFSYM_EXPORT(log),
|
||||
ESP_ELFSYM_EXPORT(log10),
|
||||
ESP_ELFSYM_EXPORT(pow),
|
||||
ESP_ELFSYM_EXPORT(sqrt),
|
||||
ESP_ELFSYM_EXPORT(fmod),
|
||||
#endif
|
||||
// sys/errno.h
|
||||
ESP_ELFSYM_EXPORT(__errno),
|
||||
// freertos_tasks_c_additions.h
|
||||
@ -114,6 +134,7 @@ const esp_elfsym main_symbols[] {
|
||||
// cassert
|
||||
ESP_ELFSYM_EXPORT(__assert_func),
|
||||
// cstdio
|
||||
ESP_ELFSYM_EXPORT(abort),
|
||||
ESP_ELFSYM_EXPORT(fclose),
|
||||
ESP_ELFSYM_EXPORT(feof),
|
||||
ESP_ELFSYM_EXPORT(ferror),
|
||||
@ -122,6 +143,7 @@ const esp_elfsym main_symbols[] {
|
||||
ESP_ELFSYM_EXPORT(fgetpos),
|
||||
ESP_ELFSYM_EXPORT(fgets),
|
||||
ESP_ELFSYM_EXPORT(fopen),
|
||||
ESP_ELFSYM_EXPORT(freopen),
|
||||
ESP_ELFSYM_EXPORT(fputc),
|
||||
ESP_ELFSYM_EXPORT(fputs),
|
||||
ESP_ELFSYM_EXPORT(fprintf),
|
||||
@ -155,11 +177,15 @@ const esp_elfsym main_symbols[] {
|
||||
ESP_ELFSYM_EXPORT(strtol),
|
||||
ESP_ELFSYM_EXPORT(strcspn),
|
||||
ESP_ELFSYM_EXPORT(strncat),
|
||||
ESP_ELFSYM_EXPORT(strpbrk),
|
||||
ESP_ELFSYM_EXPORT(strspn),
|
||||
ESP_ELFSYM_EXPORT(strcoll),
|
||||
ESP_ELFSYM_EXPORT(memset),
|
||||
ESP_ELFSYM_EXPORT(memcpy),
|
||||
ESP_ELFSYM_EXPORT(memcmp),
|
||||
ESP_ELFSYM_EXPORT(memchr),
|
||||
ESP_ELFSYM_EXPORT(memmove),
|
||||
|
||||
// ctype
|
||||
ESP_ELFSYM_EXPORT(isalnum),
|
||||
ESP_ELFSYM_EXPORT(isalpha),
|
||||
@ -312,6 +338,8 @@ const esp_elfsym main_symbols[] {
|
||||
// esp_netif.h
|
||||
ESP_ELFSYM_EXPORT(esp_netif_get_ip_info),
|
||||
ESP_ELFSYM_EXPORT(esp_netif_get_handle_from_ifkey),
|
||||
// Locale
|
||||
ESP_ELFSYM_EXPORT(localeconv),
|
||||
// delimiter
|
||||
ESP_ELFSYM_END
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user