nuttx/Documentation
Marco Casaroli 08c0cce0d9 libs/libc: Define the NXFLAT ABI marker in libc.
Every NXFLAT module imports __nxflat_abi_v2, and the loader resolves it
against the symbol table exec() is given, like any other import.  It was
defined in binfmt/libnxflat, which is enough for a flat build, where the
firmware and the applications are one image.

In a protected build the table comes from the application, in the user
image, which cannot see a kernel symbol: the user image fails to link with
an undefined reference to __nxflat_abi_v2 as soon as an application
generates its table from the modules' imports, as examples/nxflat does.  A
kernel build is the same, with one image per process.

libc is linked into each of those images, so the marker is defined there
now.  Nothing else changes: its value is still never used.

On mps3-an547:knsh under QEMU with CONFIG_NXFLAT and examples/nxflat, the
user image links, and errno, hello, mutex, pthread and struct run.
lm3s6965-ek:qemu-nxflat still runs every module to the end.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-09-28 16:45:48 -03:00
..
_extensions
_static
_templates
applications Documentation/math: explain that KissFFT is a small FFT library 2026-09-22 00:11:08 +08:00
components libs/libc: Define the NXFLAT ABI marker in libc. 2026-09-28 16:45:48 -03:00
contributing docs: document Python linting requirements 2026-09-15 09:40:09 +08:00
debugging Documentation: Add documentation of SCHED_DUMP_TASKS and SCHED_DUMP_STACK 2026-06-09 08:04:54 -04:00
faq !boards: Remove NSH_ARCHINIT and board_app_initialize 2026-05-02 18:36:46 +08:00
guides arch/x86_64: Implement up_addrenv_fork() and provide POSIX fork(). 2026-09-24 18:02:36 -03:00
implementation docs: document chroot jail root 2026-09-20 22:27:38 +08:00
introduction Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
logos
platforms arch/nrf52: add SAADC external TIMER trigger over PPI 2026-09-28 11:20:31 +02:00
quickstart Documentation: fill in pass1 directory description in organization.rst 2026-07-06 10:18:42 -03:00
reference docs/wdog: Document wd_start_next delay requirement. 2026-09-26 22:18:02 +08:00
ReleaseNotes Documentation: add NuttX 13.1.0 release notes 2026-09-26 10:54:27 -03:00
standards docs/pthread: Document pthread_sigqueue 2026-09-21 14:53:26 +08:00
testing ci: apply Depends-On dependencies to the memory report 2026-09-15 08:47:25 -03:00
.gitignore
conf.py Documentation: conf: Ignore .venv 2026-05-29 01:26:21 +08:00
glossary.rst
index.rst
known-warnings.txt
legacy_README.md Documentation: Point the buildroot links at the repository that still exists. 2026-09-13 18:29:40 -03:00
make.bat
Makefile
Pipfile docs/plantuml: Add PlantUML support to Documentation build 2026-02-15 08:47:23 +01:00
Pipfile.lock build(deps): bump anyio from 4.14.0 to 4.14.2 in /Documentation 2026-09-20 18:04:41 -03:00
security.rst
substitutions.rst