casaroli opened a new pull request, #3880:
URL: https://github.com/apache/nuttx-apps/pull/3880

   ## Summary
   
   Add two NXFLAT test modules. `tls` has a `__thread` variable without an 
initial value, one with an initial value, and a struct whose template holds a 
string pointer and a data pointer. `tlsxx` has a C++ `thread_local` object with 
a constructor and the static `thread_local` member of a class template. In each 
module, the main thread and a second thread check the initial values, change 
them, and check that the other thread does not see the change. `tlsxx` needs 
`CONFIG_HAVE_CXX`.
   
   The module imports `__emutls_get_address()`, and the symbol table that 
`mksymtab.sh` generates from the thunks exports it, so the example needs no 
other change.
   
   ## Impact
   
   Two more modules in the ROMFS of examples/nxflat when pthreads are enabled 
(`tlsxx` also needs `CONFIG_HAVE_CXX`).
   
   ## Testing
   
   See apache/nuttx#20805. `tlsxx` needs that PR: with ldnxflat of master, 
`exec()` of `tlsxx` fails. The checks of the second thread need a base code 
that keeps a copy of each `__thread` variable per thread (#20723). 
eagle100:nxflat builds with the new module. `tools/checkpatch.sh -c -u -m -g` 
passes.
   
   depends-on: [apache/nuttx/pull/20805 apache/nuttx/pull/20723]
   


-- 
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