-1 (non-binding) for AVR DA/DB

Fails to compile with:

avr-ld: staging/libsched.a(sem_destroy.o): in function `.L3':
sem_destroy.c:(.text.nxsem_destroy+0x46): undefined reference to `__atomic_load_4'

I tracked this down to a patch series that includes commit 4ca2256a9beef (nuttx/atomic: select LIBC_ATOMIC_IRQ for archs without atomic support) - this commit did not cover AVR DA/DB.

I prepared a patch and uploaded it to my git repository nuttx.git at git.kerogit.eu accessible through HTTP/S. (Trying to prevent bot traffic by not posting the URL in machine-readable form.) The relevant branch is called avrdx_fix_13.1. The patch is also attached to this message - I don't have a GitHub account so, if possible, I would like to ask someone to open a PR and merge it to development branch. It's a simple one-liner doing the same thing as what the 4ca2256a9beef does, simply adds "select LIBC_ATOMIC_IRQ" to Kconfig. (If the vote for RC0 fails, please merge it to RC1 as well.)

With the patch, build process completes - for breadxavr:nsh configuration:

Register: nsh
Register: sh
LD: nuttx
Memory region         Used Size  Region Size  %age Used
           flash:       56125 B       128 KB     42.82%
            sram:         780 B        16 KB      4.76%
          eeprom:           0 B        512 B      0.00%
          rodata:         602 B         4 KB     14.70%

(Compared to previous version 13.0, the binary size increased by 850 bytes. Most of that is caused by changes in fs/inode starting with patch e73947e9e so not much can be done to alleviate that - at least not easily.)

Other than that, there also seems to be a performance regression observed when running a stress test app which is apparently dropping bytes from UART (interrupt not serviced in time.) Takes few hours to manifest though so I'll try to track that one down for 13.2.

On 2026-09-27 07:20, Alin Jerpelea wrote:
Hello all,
Apache NuttX 13.1.0 RC0 has been staged under [1] and it's
time to vote on accepting it for release. Voting will be open for 72hr.

A minimum of 3 binding +1 votes and more binding +1 than binding -1 are
required to pass.

The Apache requirements for approving a release can be found here [3]
"Before voting +1 PMC members are required to download the signed
source code package, compile it as provided, and test the resulting
executable on their own platform, along with also verifying that the
package meets the requirements of the ASF policy on releases."

A document to walk through some of this process has been published on
our project wiki and can be found here [4].

[ ] +1 accept (indicate what you validated - e.g. performed the non-RM
items in [4])
[ ] -1 reject (explanation required)

Thank you all,
Alin Jerpelea

SCM Information:
  Release tag: nuttx-13.1.0-RC0
Hash for the release nuttx tag: 2b5c0de5e933281c209f954a63b99cf10c132346
  Hash for the release nuttx-apps tag:
3c772ea35b9245972e18999828f7b533e6fc57cc

[1] https://dist.apache.org/repos/dist/dev/nuttx/13.1.0-RC0/
[2]
https://raw.githubusercontent.com/apache/nuttx/nuttx-13.1.0-RC0/ReleaseNotes
[3] https://www.apache.org/dev/release.html#approving-a-release
[4]
https://cwiki.apache.org/confluence/display/NUTTX/Validating+a+staged+Release

Attachment: 0001-arch-avr-Kconfig-fix-regression-introduced-by-atomic.patch.gz
Description: application/gzip

Reply via email to