W-M-R opened a new pull request, #21363:
URL: https://github.com/apache/nuttx/pull/21363
## Summary
- `arch/arm/Kconfig`: drop `depends on !LIBM_TOOLCHAIN` from
`ARM_TOOLCHAIN_CLANG`. The dependency prevented selecting Clang together
with the libm toolchain even though the two are independent.
- `boards/arm64/fvp-v8r/fvp-armv8r/src/fvp_bringup.c`: mount tmpfs on
`CONFIG_LIBC_TMPDIR` when `CONFIG_FS_TMPFS` is enabled.
- `libs/libbuiltin/libgcc/profile.c`: take the profiler lock through the
`*_notrace` spinlock helpers. The normal helpers are themselves profiled
when not inlined, so `mcount_internal()` re-entered itself and deadlocked
on release.
- `arch/{arm/src/nrf52,arm/src/nrf53,arm/src/samd2l2,sim/src/sim}`: check the
result of the allocation before dereferencing it.
## Impact
- One Kconfig dependency fix, one board bring-up addition, one profiler
deadlock fix and four NULL checks.
- No behaviour change for configurations that do not hit these paths.
## Testing
Host: Ubuntu 22.04, gcc 13, clang 18, arm-none-eabi-gcc 13,
aarch64-none-elf-gcc 13.
- libm toolchain: configure an `arm` board, enable
`CONFIG_ARM_TOOLCHAIN_CLANG`
and `CONFIG_LIBM_TOOLCHAIN`, and confirm both can be selected together and
the image links.
- fvp tmpfs: build `fvp-armv8r:nsh` with `CONFIG_FS_TMPFS=y`; booting on the
Arm FVP mounts `/tmp` successfully (QEMU cannot run this board).
- profiler lock: build `sim` with `CONFIG_PROFILE_MINI=y` and `-pg`, run a
CPU-bound workload; before the change `mcount_internal()` deadlocked on the
profiler lock release, after it completes and `gmon.out` is written.
- allocation checks: build the `nrf52`, `nrf53`, `samd2l2` and `sim`
defconfigs that enable those drivers; the added NULL checks compile and the
devices still enumerate.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]