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

Reply via email to