mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 10:53:17 +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* _Znwj(uint32_t size); // operator new(unsigned int)
|
||||||
extern void _ZdlPvj(void* p, uint64_t size); // operator delete(void*, unsigned int)
|
extern void _ZdlPvj(void* p, uint64_t size); // operator delete(void*, unsigned int)
|
||||||
extern void __cxa_pure_virtual();
|
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[] = {
|
const esp_elfsym cplusplus_symbols[] = {
|
||||||
ESP_ELFSYM_EXPORT(_Znwj), // operator new(unsigned int)
|
ESP_ELFSYM_EXPORT(_Znwj), // operator new(unsigned int)
|
||||||
ESP_ELFSYM_EXPORT(_ZdlPvj), // operator delete(void*, 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_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
|
// delimiter
|
||||||
ESP_ELFSYM_END
|
ESP_ELFSYM_END
|
||||||
};
|
};
|
||||||
|
|||||||
@ -35,24 +35,22 @@
|
|||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include <setjmp.h>
|
#include <dirent.h>
|
||||||
#include <sys/errno.h>
|
|
||||||
#include <sys/unistd.h>
|
|
||||||
|
|
||||||
#include <esp_log.h>
|
#include <esp_log.h>
|
||||||
#include <esp_random.h>
|
#include <esp_random.h>
|
||||||
#include <esp_sntp.h>
|
#include <esp_sntp.h>
|
||||||
#include <esp_netif.h>
|
#include <esp_netif.h>
|
||||||
#include <dirent.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <lwip/sockets.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 <Tactility/Tactility.h>
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
bool module_parent_resolve_symbol(ModuleParent* pParent, const char* name, uintptr_t* pInt);
|
bool module_parent_resolve_symbol(ModuleParent* pParent, const char* name, uintptr_t* pInt);
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
@ -90,8 +88,30 @@ const esp_elfsym main_symbols[] {
|
|||||||
// esp_sntp.h
|
// esp_sntp.h
|
||||||
ESP_ELFSYM_EXPORT(sntp_get_sync_status),
|
ESP_ELFSYM_EXPORT(sntp_get_sync_status),
|
||||||
// math.h
|
// math.h
|
||||||
|
ESP_ELFSYM_EXPORT(atan),
|
||||||
ESP_ELFSYM_EXPORT(cos),
|
ESP_ELFSYM_EXPORT(cos),
|
||||||
ESP_ELFSYM_EXPORT(sin),
|
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
|
// sys/errno.h
|
||||||
ESP_ELFSYM_EXPORT(__errno),
|
ESP_ELFSYM_EXPORT(__errno),
|
||||||
// freertos_tasks_c_additions.h
|
// freertos_tasks_c_additions.h
|
||||||
@ -114,6 +134,7 @@ const esp_elfsym main_symbols[] {
|
|||||||
// cassert
|
// cassert
|
||||||
ESP_ELFSYM_EXPORT(__assert_func),
|
ESP_ELFSYM_EXPORT(__assert_func),
|
||||||
// cstdio
|
// cstdio
|
||||||
|
ESP_ELFSYM_EXPORT(abort),
|
||||||
ESP_ELFSYM_EXPORT(fclose),
|
ESP_ELFSYM_EXPORT(fclose),
|
||||||
ESP_ELFSYM_EXPORT(feof),
|
ESP_ELFSYM_EXPORT(feof),
|
||||||
ESP_ELFSYM_EXPORT(ferror),
|
ESP_ELFSYM_EXPORT(ferror),
|
||||||
@ -122,6 +143,7 @@ const esp_elfsym main_symbols[] {
|
|||||||
ESP_ELFSYM_EXPORT(fgetpos),
|
ESP_ELFSYM_EXPORT(fgetpos),
|
||||||
ESP_ELFSYM_EXPORT(fgets),
|
ESP_ELFSYM_EXPORT(fgets),
|
||||||
ESP_ELFSYM_EXPORT(fopen),
|
ESP_ELFSYM_EXPORT(fopen),
|
||||||
|
ESP_ELFSYM_EXPORT(freopen),
|
||||||
ESP_ELFSYM_EXPORT(fputc),
|
ESP_ELFSYM_EXPORT(fputc),
|
||||||
ESP_ELFSYM_EXPORT(fputs),
|
ESP_ELFSYM_EXPORT(fputs),
|
||||||
ESP_ELFSYM_EXPORT(fprintf),
|
ESP_ELFSYM_EXPORT(fprintf),
|
||||||
@ -155,11 +177,15 @@ const esp_elfsym main_symbols[] {
|
|||||||
ESP_ELFSYM_EXPORT(strtol),
|
ESP_ELFSYM_EXPORT(strtol),
|
||||||
ESP_ELFSYM_EXPORT(strcspn),
|
ESP_ELFSYM_EXPORT(strcspn),
|
||||||
ESP_ELFSYM_EXPORT(strncat),
|
ESP_ELFSYM_EXPORT(strncat),
|
||||||
|
ESP_ELFSYM_EXPORT(strpbrk),
|
||||||
|
ESP_ELFSYM_EXPORT(strspn),
|
||||||
|
ESP_ELFSYM_EXPORT(strcoll),
|
||||||
ESP_ELFSYM_EXPORT(memset),
|
ESP_ELFSYM_EXPORT(memset),
|
||||||
ESP_ELFSYM_EXPORT(memcpy),
|
ESP_ELFSYM_EXPORT(memcpy),
|
||||||
ESP_ELFSYM_EXPORT(memcmp),
|
ESP_ELFSYM_EXPORT(memcmp),
|
||||||
ESP_ELFSYM_EXPORT(memchr),
|
ESP_ELFSYM_EXPORT(memchr),
|
||||||
ESP_ELFSYM_EXPORT(memmove),
|
ESP_ELFSYM_EXPORT(memmove),
|
||||||
|
|
||||||
// ctype
|
// ctype
|
||||||
ESP_ELFSYM_EXPORT(isalnum),
|
ESP_ELFSYM_EXPORT(isalnum),
|
||||||
ESP_ELFSYM_EXPORT(isalpha),
|
ESP_ELFSYM_EXPORT(isalpha),
|
||||||
@ -312,6 +338,8 @@ const esp_elfsym main_symbols[] {
|
|||||||
// esp_netif.h
|
// esp_netif.h
|
||||||
ESP_ELFSYM_EXPORT(esp_netif_get_ip_info),
|
ESP_ELFSYM_EXPORT(esp_netif_get_ip_info),
|
||||||
ESP_ELFSYM_EXPORT(esp_netif_get_handle_from_ifkey),
|
ESP_ELFSYM_EXPORT(esp_netif_get_handle_from_ifkey),
|
||||||
|
// Locale
|
||||||
|
ESP_ELFSYM_EXPORT(localeconv),
|
||||||
// delimiter
|
// delimiter
|
||||||
ESP_ELFSYM_END
|
ESP_ELFSYM_END
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user