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

   ## Summary
   
   `examples/fdpicxip` and `testing/fs/xipfs` assert that each running instance 
of a module gets its own copy of a library named in `DT_NEEDED`: two instances 
adding their own seed each saw a total of `seed * 3`.
   
   That was true of the loader that walked `DT_NEEDED` itself. The loader now 
hands the work to `dlopen()`, which returns the object already in the module 
registry rather than loading a second copy, so there is one library and one set 
of its globals, shared by every module that names it. The module's own data 
stays private per instance, because `exec()` loads the module afresh each time.
   
   What an instance can still assert on its own is that every add it made 
landed in the library, so that is what it checks. The test additionally checks 
the consequences: the library is pinned once rather than once per instance, and 
its destructor runs once, at the last close, holding what both instances built 
up.
   
   The embedded module blobs are regenerated from the sources beside them.
   
   Depends-on: apache/nuttx#19673
   
   ## Testing
   
   Run in full on QEMU `mps2-an500` and on a Pimoroni Pico Plus 2 (RP2350), 
against apache/nuttx#19673.
   
   ```
   xipfs_test          131 passed, 0 failed
   xipfs_test fdpic     34 passed, 0 failed
   xipfs_test reject     7 passed, 0 failed
   fdpicxip qsort | solib | cxx | jmprel
   ```
   


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