I submitted a fix:

https://github.com/apache/nuttx/pull/20419

On Wed, Sep 30, 2026 at 9:28 AM Alan C. Assis <[email protected]> wrote:

> Hi KR,
>
> Another different topic here:
>
> Could you please verify this issue that should affect AVR:
>
> Several open() flags are defined as shifts past bit 15, for example
>   O_DIRECTORY (1U << 16), O_CLOEXEC (1U << 19) and O_NOFOLLOW (1U << 17).
>   - Where int is 16 bits, these shifts are undefined. GCC turns every one
> of them
>     into 0.
>   - open() takes int oflags, so it can't carry those bits anyway.
>   - The compiler warning never appears, because NuttX includes its headers
> with
>     -isystem, which hides warnings from them.
>
>   The effect.
>   - opendir() never passed O_DIRECTORY, so opening /proc failed with
> ENOENT and ps
>     broke.
>   - O_CLOEXEC and O_NOFOLLOW silently did nothing.
>   - AVR also has a 16-bit int, so it has the same latent bug.
>
> If this issue exists on AVR, your system probably cannot mount /proc, and
> the ps command will not work.
>
> BR,
>
> Alan
>
> On Mon, Sep 28, 2026 at 9:45 AM <[email protected]> wrote:
>
>> -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
>>
>

Reply via email to