TakuyaMiyasita opened a new pull request, #14803:
URL: https://github.com/apache/nuttx/pull/14803

   ## Summary
   Some armv7-m-based SoCs do not work with atomic instructions, even though 
armv7-m supports them.
   (About abouve SoC, please refer 
https://github.com/apache/nuttx/commit/4cec713dbf86c82e1f48abb0815dfd2f98016b68#commitcomment-148460811)
   
   To avoid using atomic instructions generated by gcc, CONFIG_LIBC_ARCH_ATOMIC 
is newly introduced with which arch_atomic.c is linked explicitly.
   
   However, the function names need to be changed to avoid build errors, since 
the functions described in stdatomic.h are gcc built-in and inlined when the 
code is compiled.
   
   About libcxx with CONFIG_LIBC_ARCH_ATOMIC, it still does not work. It is 
also needed to call nx_atomic_ ver instead of __atomic ver in 
libcxx/include/__atomic/cxx_atomic_lmpl.h.
   
   ## Impact
   ARCH_CHIP_CXD32XX
   
   ## Testing
   - ARCH_CHIP_CXD32XX : The build is passed and ostest is passed, but the 
board is out-of-tree.
   - raspberrypi-pico:nsh : The build is passed.
   - spresense:smp : The build is passed.
   - rv-virt:libcxx : The build is passed.
   - esp32c3-generic:nsh : The build is passed.
   - esp32h2-devkit:nsh : The build is passed.
   - esp32s3-devkit:cxx : The build is passed.
   
   tool-chain version
   ```
   arm-none-eabi-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 
20231009
   Copyright (C) 2023 Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.  There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   ```
   ```
   riscv-none-elf-gcc (xPack GNU RISC-V Embedded GCC x86_64) 13.2.0
   Copyright (C) 2023 Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.  There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   ```
   ```
   xtensa-esp32s3-elf-gcc (crosstool-NG esp-12.2.0_20230208) 12.2.0
   Copyright (C) 2022 Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.  There is NO
   warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   ```
   


-- 
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: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to