casaroli commented on PR #19673: URL: https://github.com/apache/nuttx/pull/19673#issuecomment-5388472808
This PR is too big to review in one sitting, so I am splitting it. It goes to draft and stays open as the umbrella, with the whole series and the test results. Four pieces have no FDPIC content at all, do not depend on each other, and can be reviewed and merged in any order: - #19938 `[1/4] binfmt/elf: Run a loaded module's constructors.` — `elf_loadbinary()` records `.init_array` and nothing calls it. Any board that can load an ELF module can test this, no FDPIC and no special toolchain. - #19939 `[2/4] libs/libc/elf: Give a shared object a word alignment, not zero.` — an `ET_DYN` object is sized from its program headers, so `textalign` and `dataalign` stay at zero and reach `lib_memalign()`. - #19940 `[3/4] tools/fdpic: Add the module build helpers the demo apps use.` — `apps/examples/fdpicxip` is already in apps master and its Makefile reads `nuttx/tools/fdpic/`, which is not in this tree. Also moves the tool README into Host Tools, as @cederom asked. - #19941 `[4/4] libs/libc/elf: Translate link-time addresses through one place.` — pure refactor, no behaviour change. The FDPIC work itself follows as a chain, one PR each, after those four: the loader core with `CONFIG_FDPIC` off by default, then the ARM relocations, then the ten libc and sched callback entry points, then the `exec()` path, then `DT_NEEDED` through `dlopen()`, then the documentation and the board configuration. @xiaoxiang781216 you said you needed dedicated time for a change this size. The four above are small and independent, and the FDPIC chain after them is one subsystem per PR. `DT_NEEDED` through `dlopen()` gets its own PR, so the semantics change you care about is not buried in a 3000 line diff. The four are drafts until I attach hardware logs tomorrow. -- 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]
