mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
* **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
29 lines
1023 B
C++
29 lines
1023 B
C++
#include <private/elf_symbol.h>
|
|
#include <cstddef>
|
|
|
|
#include <symbols/cplusplus.h>
|
|
|
|
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
|
|
};
|