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

   ## Summary
   
   This patch is another smaller upstream slice being extracted from the 
ongoing GSoC 2026 Dynamic ELF loading and `nxpkg` work for NuttX.
   
   An earlier draft PR (#3474) carries the initial `nxpkg` package lifecycle 
helper. This PR is a follow-up `apps/` slice from the same broader effort, and 
it is intended to merge after #3474.
   
   Series order for this PR:
   - base series context: #3474
   - merge order: after #3474
   
   The change itself extends the `examples/sotest` packaging path so the 
shared-library test fixtures can also be prepared through `nxpkg`-style package 
artifacts.
   
   Concretely, it:
   - generates `shared-index.json` and `pkgsotest.nsh` from the built 
`modprint` and `sotest` shared objects
   - records the correct target `arch` / `compat` metadata and SHA-256 digests 
for those packaged shared-library fixtures
   - allows `sotest` to run in either its existing builtin-ROMFS flow or from 
explicit shared-library paths, with a `--mount` helper mode for preparing the 
builtin test mount separately
   - keeps the paired fixture outputs in one grouped make step so parallel 
builds do not re-enter the generator independently
   
   ## Impact
   
   This makes the `sotest` shared-library example usable as a package-style 
fixture producer for the same Dynamic ELF / `nxpkg` series.
   
   That is useful for validating the shared-library side of the packaging flow, 
where the loader should consume installed artifacts rather than only the 
default builtin test paths.
   
   There is no intended regression for the normal `sotest` example flow. The 
existing builtin-ROMFS path is preserved, while the test binary now also 
accepts explicit shared-library paths when the package-installed copies need to 
be exercised.
   
   Keeping this work separate from the larger series should make review easier, 
while still preserving the intended merge order after #3474.
   
   ## Testing
   
   Host:
   - macOS 26.5
   - Apple Silicon (`arm64`)
   - `xtensa-esp-elf-gcc (crosstool-NG esp-14.2.0_20241119) 14.2.0`
   - `esptool.py v4.11.0`
   
   Focused verification for this PR:
   - clean detached `apps` worktree with this patch stacked on top of the 
current `#3474` head
   - clean detached companion `apache/nuttx` worktree at the local 
`boards/xtensa/esp32s3/xiao:sotest: enable nxpkg fixtures` commit used for the 
matching XIAO configuration
   - target: `xtensa`
   - config: `esp32s3-xiao:sotest`
   
   Build steps:
   ```sh
   ./tools/configure.sh -E -a ../apps-stacked esp32s3-xiao:sotest
   make olddefconfig
   make -j8
   ```
   
   Generated fixture artifacts:
   ```text
   bin/shared-index.json
   bin/pkgsotest.nsh
   ```
   
   Build result:
   ```text
   LD: nuttx
   CP: nuttx.hex
   MKIMAGE: ESP32-S3 binary
   Generated: nuttx.bin
   ```
   
   Broader series context:
   - this slice was verified specifically for clean build and fixture 
generation in the stacked setup above
   - the broader Dynamic ELF / `nxpkg` series has been validated separately on 
the Seeed XIAO ESP32S3 Sense during the ongoing bring-up work, but this PR 
description is intentionally limiting its direct claim to the focused stacked 
verification above
   


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