mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-02-18 19:03:16 +00:00
* **New Features** * Expanded public device and driver APIs (accessors, sync, lifecycle, binding) and a module construct+start helper. * Added kernel symbol registry and new exported symbols (lvgl, C++ nothrow, I2S APIs, additional math funcs). * **Refactor** * Renamed device traversal APIs for consistency (device_for_each*). * Moved inline helpers to explicit public declarations. * **Chores** * Replaced several shell release scripts with Python-based SDK release tooling. * **Style** * Header naming consistency fixes.
31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#include <private/elf_symbol.h>
|
|
#include <cstddef>
|
|
#include <new>
|
|
|
|
#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)
|
|
{ "_ZSt7nothrow", (void*)&std::nothrow },
|
|
// 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
|
|
};
|