nuttx/arch/arm/src/common
Marco Casaroli 5513029711 arch/arm: Build a loadable module and a shared library as FDPIC too.
CONFIG_FDPIC teaches the ELF module path what an FDPIC object is, so an
application built as a module gets -mfdpic -fPIC and the
arm-uclinuxfdpiceabi linker.  The loadable module path, which apps builds
with DYNLIB = y and which apps/Library.mk uses for a shared library, was
left as it was: a -r partial link with the stock linker.  That leaves an
object with no dynamic section, so the loader has nothing to bind an import
to, and there is no way to build a library an FDPIC module can call.

Give that path the same treatment.  CMODULEFLAGS and CXXMODULEFLAGS gain the
FDPIC compiler flags, and LDMODULEFLAGS links a shared object rather than a
partial one.  The entry point is left to the caller, because a module is
entered at _start while a library is only ever called into.

CXXMODULEFLAGS is also defined for the first time.  apps/Library.mk compiles
every C++ source of a shared library with it and no architecture defined it,
so those sources were compiled with no architecture flags at all.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-09-25 09:56:10 -03:00
..
ameba sched/semaphore: Remove the return value check of nxsem_init/nxmutex_init 2026-09-25 10:37:43 +02:00
gnu arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
iar arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
stm32 arch/arm/stm32h5: add SDMMC1/SDMMC2 driver 2026-09-25 18:30:40 +08:00
arm_allocateheap.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_backtrace_fp.c
arm_backtrace_sp.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
arm_backtrace_unwind.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
arm_checkstack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_createstack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_exit.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_fork.c arch/arm: Build fork() children from the caller's syscall frame on armv7-a. 2026-08-10 08:57:30 -03:00
arm_fork.h
arm_getintstack.c
arm_hostfs.c fs/hostfs: fix pre-existing nxstyle issues in touched files 2026-08-28 18:35:37 +08:00
arm_idle.c
arm_initialize.c arch/init: call up_color_intstack before up_irq_enable 2025-10-14 17:42:01 +08:00
arm_internal.h serial/uart_rpmsg: add _raw version of driver 2026-02-23 09:19:57 -03:00
arm_lowputs.c
arm_modifyreg.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_nputs.c arm/common: Fix arm_nputs.c to avoid mult. up_nputs() definitions 2025-10-14 08:36:44 -04:00
arm_poweroff.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_pthread_start.c
arm_registerdump.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_releasestack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_semi_syslog.c
arm_signal_dispatch.c arch/arm: Add support to disable signals actions related data struct 2026-01-18 08:24:13 -03:00
arm_stackframe.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arm_task_start.c
arm_tls.c arch/arm: Fix TLS initialization to account for padding between sections 2026-01-09 21:48:28 +08:00
arm_usestack.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
CMakeLists.txt arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
crt0.c arch/crt0.c: revert entry _start 2025-12-10 19:06:04 +08:00
hwcap.h
Make.defs arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
README_lwl_console.txt
Toolchain.defs arch/arm: Build a loadable module and a shared library as FDPIC too. 2026-09-25 09:56:10 -03:00