Documentation, tools/ci: Say where the NXFLAT tools actually come from - #20093
Open
casaroli wants to merge 2 commits into
Open
Documentation, tools/ci: Say where the NXFLAT tools actually come from#20093casaroli wants to merge 2 commits into
casaroli wants to merge 2 commits into
Conversation
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 apache#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) <noreply@anthropic.com> Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
casaroli
requested review from
hartmannathan and
xiaoxiang781216
as code owners
September 8, 2026 20:53
… exists. bitbucket.org/nuttx/buildroot returns 404, as does every other repository under that Bitbucket organisation. The buildroot that still carries the NuttX toolchain, ldnxflat included, is github.com/patacongo/buildroot. Thirty three files carried the dead address, most of them as a "Bitbucket download site" for a board's toolchain. There are no downloads to offer, so those now name the repository, and the surrounding prose says so. The other dead Bitbucket addresses are left alone: nuttx/nuttx, nuttx/tools, nuttx/uclibc and nuttx/nxwidgets need a decision each about what replaces them, which is not this patch. patacongo/obsoleted is still there. Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
casaroli
requested review from
cederom,
linguini1 and
raiden00pl
as code owners
September 8, 2026 20:56
casaroli
force-pushed
the
nxflat-toolchain-docs
branch
from
September 8, 2026 21:08
0179fe7 to
a87e30c
Compare
xiaoxiang781216
approved these changes
Sep 9, 2026
Contributor
|
@casaroli if the code base of ldnxflat isn't too large, how about let AI rewrite a new ldnxflat from scratch to fix GPL issue. |
Contributor
Please do not do this ! It is called license washing! and it is not the same as a clean room implementation. |
Contributor
Author
|
I think I can write another ldnxflat (without AI) from scratch without even looking at the original code. This is not even a full linker. And there are other more modern alternatives we can use instead of libbfd. When I'm done with FDPIC, I will explore that possibility. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two things in the NXFLAT documentation are no longer true.
The download link is dead.
bitbucket.org/nuttx/buildrootreturns 404; the buildroot that still carriesldnxflatis patacongo/buildroot.The instructions also ask for more than is needed.
mknxflatcame in tree with #19600, so onlyldnxflathas to be built, and an ordinaryarm-none-eabiGCC compiles and links NXFLAT modules — a board does not have to selectCONFIG_ARM_TOOLCHAIN_BUILDROOTto use them. The page still described building the whole buildroot toolchain throughmake menuconfig.What
ldnxflatdoes need, and what the page did not say, is a binutils source tree and a binutils build of the same version, because it reads its input through libbfd.The CI test list carried the same stale claim:
tools/ci/testlist/arm-06.datsays the container lacksmknxflat. It lacksldnxflat;mknxflatis built fromtools/nxflatwheneverCONFIG_NXFLATis set.Impact
Documentation and one comment. No code, no configuration.
Testing
Verified by doing it:
ldnxflatbuilt frompatacongo/buildrootagainst binutils 2.43 libbfd, andlm3s6965-ek:qemu-nxflatbuilt with the stockarm-none-eabiGCC 15.3 rather than the buildroot toolchain, withCONFIG_ARM_TOOLCHAIN_GNU_EABIin place ofCONFIG_ARM_TOOLCHAIN_BUILDROOT. It runs underqemu-system-arm -M lm3s6965evb: theerrnoandhelloNXFLAT tests pass.tools/checkpatch.sh -c -u -m -gpasses.The rest of the dead links
The second commit takes the same dead address out of the other 33 files that carried it, mostly as a "Bitbucket download site" for some board's toolchain. There are no downloads to offer, so those now name the repository and the prose around them says so.
Every repository under the old Bitbucket organisation is gone, not just buildroot:
bitbucket.org/nuttx/buildrootbitbucket.org/nuttx/nuttxbitbucket.org/nuttx/toolsbitbucket.org/nuttx/uclibcbitbucket.org/nuttx/nxwidgetsbitbucket.org/patacongo/obsoletedOnly the buildroot ones are changed here, because
patacongo/buildrootis a verified replacement. The others each need a decision about what replaces them, which is not this patch.