Hi Greg, I have a licensing question about the NXFLAT toolchain and I would value your confirmation, since you are the copyright holder. I have asked it on the pull request so the answer is on the record: https://github.com/apache/nuttx/pull/19600#issuecomment-5164283980
The short version: that PR moves the ARM PIC base register from r10 to r9, which breaks NXFLAT silently, because mknxflat bakes the register into the import thunks it generates as add ip,ip,sl. While the tool lives outside the NuttX repository it can drift out of step with the kernel, so the PR brings it in-tree as tools/nxflat/. The files taken are mknxflat.c and the two dyncall_skeleton.def templates from the buildroot NXFLAT toolchain. Each carries a BSD-3-Clause header naming you and Cadenux LLC, and notes that the code derives from XFLAT's ldelflib. The containing repository's COPYING is GPL-2.0, so rather than assume the per-file grant governs, I would rather hear it from you: is BSD-3 the operative licence for those three files, and are you content for them to live in an Apache-2.0 repository with their headers intact? I have deliberately left ldnxflat alone. It carries an explicit GPL-2.0-or-later notice and descends from elf2flt with roughly ten copyright holders going back to 1996, so NXFLAT will continue to need it from buildroot as it does today. The only substantive change to the imported code is dropping the libbfd dependency, which was only ever used to open the file and enumerate symbols; the tool now reads the ELF symbol table directly. The generated thunk files are byte-identical to what the current tool produces, for both ARM and Thumb-2. A reply on the list would be ideal so the answer is archived alongside the change, but whatever is easiest for you is fine. Thanks very much, Marco Casaroli
