summaryrefslogtreecommitdiff
path: root/components/libc/cplusplus/Kconfig
AgeCommit message (Collapse)Author
13 days[components][libc] run .init_array constructors in cplusplus_system_initseteiro
Newer GCC emits C++ global constructors into .init_array, which many linker scripts keep outside [__ctors_start__, __ctors_end__), so they never ran. Walk __init_array_start/__init_array_end (weak) as well, skipping entries already covered by the ctors range. Add RT_USING_CPP_CRT_INIT for ports whose startup runtime already runs .init_array, default on for the simulator. With it set, only the .init_array walk is skipped; the ctors range is still walked. Renesas RA/RA_WIRELESS/RZ families select it when C++ is enabled: FSP SystemInit() already walks .init_array, so boards whose linker script only provides __init_array_* would run constructors twice. Boards that fold .init_array into the ctors range (ra6m3-hmi-board, ra8d1, rz) still run them once via RT-Thread. Also source env.sh and restore RTT_EXEC_PATH in ToolsCI project generate and dist steps so scons is on PATH (exit 127) and the ARM toolchain path is not overwritten by env.sh. Fixes #11778
2023-06-14[cpp] attach CXXFLAGS to reduce the resource consumptionsMeco Man
2023-06-14[cpp] support rt-thread CPP wrapper sub-switch macrosyangjie11
2022-03-25[components][kconfig] 整理Kconfig目录名称和结构 (#5698)Man, Jianting (Meco)