nuttx/libs/libc/machine
Lwazi Dube 30a3769057 arch/mips: Add support for loadable ELF modules
Implement architecture-specific ELF header definitions and relocation handling
for the MIPS architecture to enable loadable modules.

Fixes #19178.

Changes include:
- Add `arch/mips/include/elf.h` with MIPS ELF relocation types and
  architecture-specific ELF data structures (`arch_elfdata_s`).
- Implement `libs/libc/machine/mips/arch_elf.c` containing `up_checkarch`,
  `up_relocate`, and `up_relocateadd` functions handling `R_MIPS_NONE`,
  `R_MIPS_32`, `R_MIPS_26`, `R_MIPS_HI16`, and `R_MIPS_LO16` relocations.
- Integrate MIPS machine-specific C library support in
  `libs/libc/machine/mips/Make.defs`.
- Update `LDMODULEFLAGS` in `arch/mips/src/mips32/Toolchain.defs` to include the
  little-endian (`-EL`) flag.
- Update `up_coherent_dcache` for proper cache synchronization on JZ4780.

Signed-off-by: Lwazi Dube <lwazeh@gmail.com>
2026-08-11 09:46:46 -03:00
..
arm arm: memcpy: add NEON paths for aligned copies 2026-05-09 09:46:43 +08:00
arm64 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
mips arch/mips: Add support for loadable ELF modules 2026-08-11 09:46:46 -03:00
renesas libc/machine/renesas: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
risc-v include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sim include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sparc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
tricore arch/tricore: Full implementation of setjmp and longjmp. 2026-05-22 00:38:02 +08:00
x86 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
x86_64 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
xtensa include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
arch_atomic.c sched/spin_lock: rename raw_spin_lock to spin_lock_notrace 2025-02-13 20:48:15 +08:00
arch_libc.c string:use builtin function to optimize libc function 2025-12-20 10:38:53 +08:00
CMakeLists.txt libc/machine/CMakeLists: should alaways build arch_atomic.c 2024-11-03 02:33:03 +08:00
Kconfig arch:use ARCH_64BIT to mark arch is support 64bit 2025-12-18 22:05:12 +08:00
Make.defs arch/mips: Add support for loadable ELF modules 2026-08-11 09:46:46 -03:00