wangzhi16 opened a new pull request, #18271:
URL: https://github.com/apache/nuttx/pull/18271

   ## Summary
   
   This patch fixes a libc++ (`libcxx`) compile error triggered by missing or 
incorrect TLS/task-local storage configuration. The compile failure originates 
from `libcxx/libcxx/src/thread.cpp` which requires `CONFIG_TLS_TASK_NELEM` to 
be enabled and greater than zero; the patch updates board `LIBCXX` 
configuration to satisfy these requirements so `thread.cpp` can compile and 
link.
   
   ## Why
   
   - `libcxx` thread support depends on task-local storage (TLS) helpers 
(`task_tls_alloc`, `task_tls_get_value`) and a non-zero `CONFIG_TLS_TASK_NELEM` 
to manage thread-local data.
   - Without enabling the TLS configuration for the board, `libcxx` fails to 
compile with explicit `#error` directives in `thread.cpp` and missing 
references to TLS helper symbols.
   
   ## Impact
   
   - Build: This change resolves build failures when compiling `libcxx` for the 
affected board config. It is a board-level configuration fix and should not 
alter runtime behavior beyond enabling TLS support for thread-local storage.
   - Runtime: Enabling TLS storage increases kernel-managed per-task TLS slots; 
ensure available RAM is sufficient for target boards. No functional change to 
existing application logic is expected aside from enabling thread-local 
features in `libcxx`.
   - Compatibility: Backwards compatible at source level; some extremely 
constrained boards may need review if memory budgets are tight.
   
   ## Testing
   
   ostest PASS


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to