Two places call fork() from code that is compiled unconditionally, which is
fine only for as long as every architecture provides it. NuttX is splitting
fork() into three primitives -- see apache/nuttx#19562 -- after which
ARCH_HAVE_FORK announces POSIX fork() specifically, and is off until an
architecture implements it. Both then fail to link. Each is dropped only
where ARCH_HAVE_FORK is unset, so builds that have fork() are unaffected.
system/libuv: test-fork.c and test-pipe-close-stdout-read-stdin.c are
filtered out of the test-*.c glob. Nothing is lost even where they are
dropped: every test they define is already excluded from the task list on
NuttX by 0001-libuv-port-for-nuttx.patch, which extends the _WIN32 guards
around them to __NuttX__ -- all nine fork_* entries and
pipe_close_stdout_read_stdin. They are compiled today but never run.
testing/ltp: the open_posix_testsuite is filtered through LTP's existing
BLACKWORDS mechanism, which already drops tests for absent features and is
already conditioned on configuration symbols. The pattern spares vfork()
and task_fork(). Where fork() is absent this drops 278 of 1943 test files;
those tests exercise fork() and cannot link without it, and they return per
architecture as fork() lands.
Against today's master this is a no-op: ARCH_HAVE_FORK is set everywhere, so
neither filter drops anything. It is part of what lets the NuttX side build
against apps master.
Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
Add the missing module metadata for the executable ELF helpers used by the package fixture flow so the generated artifacts describe their target and type consistently.
Also fix the existing embedlog spelling issue that is picked up by the current apps check, keeping this branch clean under CI.
Signed-off-by: aviralgarg05 <gargaviral99@gmail.com>
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
CC: pthread/pthread_mutexinconsistent.c libuv/src/unix/getaddrinfo.c:103:9: warning: implicit declaration of function ‘getaddrinfo’; did you mean ‘uv_getaddrinfo’? [-Wimplicit-function-declaration]
103 | err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
| ^~~~~~~~~~~
| uv_getaddrinfo
libuv/src/unix/getaddrinfo.c: In function ‘uv_freeaddrinfo’:
libuv/src/unix/getaddrinfo.c:222:5: warning: implicit declaration of function ‘freeaddrinfo’; did you mean ‘uv_freeaddrinfo’? [-Wimplicit-function-declaration]
222 | freeaddrinfo(ai);
| ^~~~~~~~~~~~
| uv_freeaddrinfo
CC: misc/lib_crc16ccitt.c libuv/src/unix/getnameinfo.c: In function ‘uv__getnameinfo_work’:
libuv/src/unix/getnameinfo.c:45:9: warning: implicit declaration of function ‘getnameinfo’; did you mean ‘uv_getnameinfo’? [-Wimplicit-function-declaration]
45 | err = getnameinfo((struct sockaddr*) &req->storage,
| ^~~~~~~~~~~
| uv_getnameinfo
Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
| In file included from libuv/src/uv-common.h:42,
| from libuv/src/uv-common.c:23:
| libuv/src/uv-common.c: In function 'uv_walk':
| libuv/src/queue.h:68:19: warning: storing the address of local variable 'queue' in '((void * (**)[2])MEM[(void *[2] * *)loop_13(D) + 8B])[1]' [-Wdangling-pointer=]
| 68 | QUEUE_PREV(q) = (n); \
| | ^
| libuv/src/queue.h:78:7: note: in expansion of macro 'QUEUE_SPLIT'
| 78 | QUEUE_SPLIT(h, q, n); \
| | ^~~~~~~~~~~
Signed-off-by: chao an <anchao@xiaomi.com>
And some minor changes:
* Remove no-proctitle.c from CSRCS since there is a implementation in nuttx.c
* Add sysinfo-[loadavg|memory].c to CSRCS to provide system info
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>