This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 6f75c032eb536c67c190a826f590f6a6ff57a5a0
Author: Marco Casaroli <[email protected]>
AuthorDate: Tue Sep 8 22:53:11 2026 +0200

    Documentation, tools/ci: Say where the NXFLAT tools actually come from.
    
    The download link is dead: bitbucket.org/nuttx/buildroot is gone, and the
    buildroot that still carries ldnxflat is github.com/patacongo/buildroot.
    
    The instructions were also more than is needed.  mknxflat came in tree with
    PR #19600, so only ldnxflat has to be built, and an ordinary arm-none-eabi
    GCC compiles and links NXFLAT modules: a board does not have to select
    CONFIG_ARM_TOOLCHAIN_BUILDROOT to use them.  What ldnxflat does need is a
    binutils source and build tree, because it reads its input through libbfd.
    
    The CI test list said mknxflat is what the container lacks.  It is in tree
    now; ldnxflat is the one that is missing.
    
    Assisted-by: Claude Opus 5 (1M context) <[email protected]>
    Signed-off-by: Marco Casaroli <[email protected]>
---
 Documentation/components/nxflat.rst | 28 ++++++++++++++++------------
 tools/ci/testlist/arm-06.dat        |  2 +-
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/Documentation/components/nxflat.rst 
b/Documentation/components/nxflat.rst
index 63c95a29796..ec8e476a4eb 100644
--- a/Documentation/components/nxflat.rst
+++ b/Documentation/components/nxflat.rst
@@ -147,18 +147,22 @@ which links the module into the NXFLAT binary format.
 ``tools/mknxflat`` whenever ``CONFIG_NXFLAT`` is selected, so there is
 nothing to install.
 
-``ldnxflat`` is not part of NuttX and has to be built from the buildroot
-package, which can be downloaded from
-`Bitbucket.org <https://bitbucket.org/nuttx/buildroot/downloads>`__.  You
-will need version 0.1.7 or later:
-
--  Unpack the package and ``cd`` into the resulting directory.
--  Copy a configuration file into the top buildroot directory:
-   ``cp boards/abc-defconfig-x.y.z .config``.
--  Run ``make menuconfig`` and select the NXFLAT toolchain.  Building GCC
-   can be omitted if you already have a toolchain of your own.
--  Run ``make``.  The tool binaries are left under
-   ``build_abc/staging_dir/bin``; put that directory on your ``PATH``.
+``ldnxflat`` is not part of NuttX and cannot be: it is GPL and derives from
+elf2flt.  It lives in the NuttX buildroot toolchain, at
+`patacongo/buildroot <https://github.com/patacongo/buildroot>`__, under
+``toolchain/nxflat``.
+
+Only that one tool is needed.  The rest of the buildroot toolchain is not:
+an ordinary ``arm-none-eabi`` GCC compiles and links NXFLAT modules, so a
+board does not have to select ``CONFIG_ARM_TOOLCHAIN_BUILDROOT`` to use
+them.
+
+``ldnxflat`` reads its input through libbfd, so it is built against a
+binutils source tree and a binutils build of the same version.
+``toolchain/nxflat/Makefile`` takes those as ``BINUTILS_DIR`` and
+``BINUTILS_DIR1``, and expects an ``arch`` symbolic link naming the target,
+``thumb2`` or ``arm``.  Where the binutils build leaves ``libbfd.a`` varies,
+so the library path may need adjusting.  Put the result on your ``PATH``.
 
 On ARM, ``arch/arm/src/common/Toolchain.defs`` provides both ``MKNXFLAT``
 (with the ``-a`` option following ``CONFIG_ARM_THUMB``) and ``LDNXFLAT``, so
diff --git a/tools/ci/testlist/arm-06.dat b/tools/ci/testlist/arm-06.dat
index 3d1bf786775..885a2cb9685 100644
--- a/tools/ci/testlist/arm-06.dat
+++ b/tools/ci/testlist/arm-06.dat
@@ -1,5 +1,5 @@
 /arm/r*,CONFIG_ARM_TOOLCHAIN_GNU_EABI
-# NXFLAT tools (mknxflat) are not available in the CI container
+# ldnxflat is not available in the CI container.  mknxflat is in tree.
 -pimoroni-pico-2-plus:xipfs-nxflat
 
 # Boards build by CMake

Reply via email to