Add new symbols

This commit is contained in:
Ken Van Hoeylandt 2026-03-02 20:53:16 +01:00
parent 4f1d9e5360
commit 8c7558dc05
3 changed files with 43 additions and 1 deletions

View File

@ -60,6 +60,8 @@ const struct ModuleSymbol lvgl_module_symbols[] = {
DEFINE_MODULE_SYMBOL(lv_obj_get_group),
DEFINE_MODULE_SYMBOL(lv_obj_get_user_data),
DEFINE_MODULE_SYMBOL(lv_obj_get_state),
DEFINE_MODULE_SYMBOL(lv_obj_get_scroll_bottom),
DEFINE_MODULE_SYMBOL(lv_obj_get_scroll_y),
DEFINE_MODULE_SYMBOL(lv_obj_has_flag),
DEFINE_MODULE_SYMBOL(lv_obj_has_flag_any),
DEFINE_MODULE_SYMBOL(lv_obj_has_state),
@ -158,7 +160,15 @@ const struct ModuleSymbol lvgl_module_symbols[] = {
DEFINE_MODULE_SYMBOL(lv_obj_set_style_min_height),
DEFINE_MODULE_SYMBOL(lv_obj_set_style_max_height),
// lv_font
DEFINE_MODULE_SYMBOL(lv_font_get_bitmap_fmt_txt),
DEFINE_MODULE_SYMBOL(lv_font_get_default),
DEFINE_MODULE_SYMBOL(lv_font_get_glyph_bitmap),
DEFINE_MODULE_SYMBOL(lv_font_get_glyph_dsc),
DEFINE_MODULE_SYMBOL(lv_font_get_glyph_dsc_fmt_txt),
DEFINE_MODULE_SYMBOL(lv_font_get_glyph_static_bitmap),
DEFINE_MODULE_SYMBOL(lv_font_get_glyph_width),
DEFINE_MODULE_SYMBOL(lv_font_get_line_height),
DEFINE_MODULE_SYMBOL(lv_font_set_kerning),
// lv_theme
DEFINE_MODULE_SYMBOL(lv_theme_get_color_primary),
DEFINE_MODULE_SYMBOL(lv_theme_get_color_secondary),

View File

@ -5,6 +5,19 @@
#include <bits/functexcept.h>
#include <tactility/module.h>
extern "C" {
// std::map / std::set red-black tree non-template helpers.
// We use the mangled names directly (same pattern as string.cpp) to avoid
// ambiguity from the overloaded const/non-const variants in stl_tree.h.
void* _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base(void*);
void* _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(void*);
void _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(bool, void*, void*, void*);
}
const esp_elfsym stl_symbols[] = {
// Note: You have to use the mangled names here
{ "_ZSt17__throw_bad_allocv", (void*)&(std::__throw_bad_alloc) },
@ -12,7 +25,11 @@ const esp_elfsym stl_symbols[] = {
{ "_ZSt25__throw_bad_function_callv", (void*)&(std::__throw_bad_function_call) },
{ "_ZSt20__throw_length_errorPKc", (void*)&(std::__throw_length_error) },
{ "_ZSt19__throw_logic_errorPKc", (void*)&std::__throw_logic_error },
// { "", (void*)&(std::) },
{ "_ZSt24__throw_out_of_range_fmtPKcz", (void*)&std::__throw_out_of_range_fmt },
// std::map / std::set (red-black tree internals)
DEFINE_MODULE_SYMBOL(_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base),
DEFINE_MODULE_SYMBOL(_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base),
DEFINE_MODULE_SYMBOL(_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_),
// delimiter
ESP_ELFSYM_END
};

View File

@ -33,6 +33,7 @@
#include <cstring>
#include <ctime>
#include <ctype.h>
#include <driver/ledc.h>
#include <getopt.h>
#include <dirent.h>
#include <esp_log.h>
@ -43,6 +44,7 @@
#include <lwip/sockets.h>
#include <lwip/netdb.h>
#include <lwip/inet.h>
#include <miniz.h>
#include <sys/select.h>
#include <locale.h>
#include <setjmp.h>
@ -220,6 +222,7 @@ const esp_elfsym main_symbols[] {
ESP_ELFSYM_EXPORT(strtod),
ESP_ELFSYM_EXPORT(strrchr),
ESP_ELFSYM_EXPORT(strtol),
ESP_ELFSYM_EXPORT(strtoul),
ESP_ELFSYM_EXPORT(strcspn),
ESP_ELFSYM_EXPORT(strncat),
ESP_ELFSYM_EXPORT(strpbrk),
@ -392,6 +395,7 @@ const esp_elfsym main_symbols[] {
ESP_ELFSYM_EXPORT(gpio_config),
ESP_ELFSYM_EXPORT(gpio_get_level),
ESP_ELFSYM_EXPORT(gpio_set_level),
ESP_ELFSYM_EXPORT(gpio_reset_pin),
// driver/i2s_common.h
ESP_ELFSYM_EXPORT(i2s_new_channel),
ESP_ELFSYM_EXPORT(i2s_del_channel),
@ -408,6 +412,17 @@ const esp_elfsym main_symbols[] {
ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_clock),
ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_slot),
ESP_ELFSYM_EXPORT(i2s_channel_reconfig_std_gpio),
// miniz.h
ESP_ELFSYM_EXPORT(tinfl_decompress),
ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_callback),
ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_heap),
ESP_ELFSYM_EXPORT(tinfl_decompress_mem_to_mem),
// ledc
ESP_ELFSYM_EXPORT(ledc_update_duty),
ESP_ELFSYM_EXPORT(ledc_set_freq),
ESP_ELFSYM_EXPORT(ledc_channel_config),
ESP_ELFSYM_EXPORT(ledc_set_duty),
ESP_ELFSYM_EXPORT(ledc_timer_config),
// delimiter
ESP_ELFSYM_END
};