Skip to content

Conversation

@cfriedt
Copy link
Member

@cfriedt cfriedt commented Nov 10, 2025

more testing.

CONFIG_XOPEN_STREAMS does not follow the pattern of other XSI Option
Groups, where the Option Group name is not the same as the feature
test macro that indicates it is supported by the implementation.

Deprecate CONFIG_XOPEN_STREAMS and rename it to CONFIG_XSI_STREAMS.

For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/\
V1_chap02.html#tag_02_01_05_09

Signed-off-by: Chris Friedt <[email protected]>
Deprecate the CONFIG_XOPEN_STREAMS Kconfig option in favour of
CONFIG_XSI_STREAMS, which matches the naming conventions of other XSI
Kconfig options and the actual Option Group name in the specification.

Please use CONFIG_XSI_STREAMS instead.

Signed-off-by: Chris Friedt <[email protected]>
This change mitigates some code sonar issues (from SonarQube).

1. explicit 'U' after 0xffffffff

> A cast shall not remove any const or volatile qualification from the
> type of a pointer or reference c:S859

2. check return value from call to pthread_barrierattr_getpshared()

> Unused assignments should be removed c:S1854

Signed-off-by: Chris Friedt <[email protected]>
This mitigates a sonarqube warning

"Value stored to 'cvalue' is never read"

> Unused assignments should be removed c:S1854

https://sonarcloud.io/project/issues?pullRequest=97152&\
open=AZnAZi4C7BgzESPFIGwf&id=zephyrproject-rtos_zephyr

Signed-off-by: Chris Friedt <[email protected]>
This change mitigates a sonarqube warning about uninitialized variables.

"1st function call argument is an uninitialized value"

> Variables should be initialized before use c:S836

https://sonarcloud.io/project/issues?pullRequest=97152&\
open=AZnAZi0m7BgzESPFIGwe&id=zephyrproject-rtos_zephyr

Signed-off-by: Chris Friedt <[email protected]>
There is no need to pull in a POSIX header file into these files,
so remove it.

Signed-off-by: Chris Friedt <[email protected]>
If C libraries provide conformant POSIX headers, then use the headers
provided by the C library.

Otherwise, C library maintainers may add `include/zephyr/posix` to their
standard search path.

This change removes the requirement to have `<zephyr/posix/...>` prefixing
all standard POSIX includes in Zephyr.

The main reason that it was required was due to conflicts between C
library time.h, signal.h and the fact that Zephyr posix headers were being
somewhat ad-hoc mixed with libc posix headers.

Now, any (even partially) POSIX-conformant C libraries are expected to
provide their own types, constants, and headers, and Zephyr's
implementation uses those definitions.

If any definitions are missing, we define them on a per-libc basis. This
can also be done out-of-tree, which allows for implementors to take
advantage of the `CONFIG_TC_PROVIDES_POSIX..` options.

This is likely the last major commit required before we deprecate the
`CONFIG_POSIX_API` Kconfig option in favour of POSIX subprofiling \o/

Signed-off-by: Chris Friedt <[email protected]>
Include standard headers for POSIX types and functions instead of making
implicit declarations.

Signed-off-by: Chris Friedt <[email protected]>
Remove the duplicate Kconfig option `CONFIG_POSIX_SYSTEM_INTERFACES` in
`lib/posix/Kconfig.profile` that shadows the option in
`lib/posix/Kconfig`.

Signed-off-by: Chris Friedt <[email protected]>
This change deprecates the Kconfig option `CONFIG_POSIX_API`.

It is slated for removal in Zephyr v4.5.0.

Signed-off-by: Chris Friedt <[email protected]>
Add release notes about the deprecation of CONFIG_POSIX_API.

User should instead use one of the pre-defined POSIX subprofiles

CONFIG_POSIX_AEP_CHOICE_BASE
CONFIG_POSIX_AEP_CHOICE_PSE51
CONFIG_POSIX_AEP_CHOICE_PSE52
CONFIG_POSIX_AEP_CHOICE_PSE53

and libraries should depend on CONFIG_POSIX_SYSTEM_INTERFACES as well as
other POSIX Option Groups, as needed.

For more information, please see

https://pubs.opengroup.org/onlinepubs/9799919799/xrat/V4_subprofiles.html

Signed-off-by: Chris Friedt <[email protected]>
The specification requires that unistd.h (or a file that is included via
unistd.h) declare version macros and symbolic constants.

Feature test macros declarations are also removed from
`lib/posix/options/CMakeLists.txt`.

Closes zephyrproject-rtos#97949

Signed-off-by: Chris Friedt <[email protected]>
@github-actions
Copy link

github-actions bot commented Nov 10, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_ti zephyrproject-rtos/hal_ti@cc04902 zephyrproject-rtos/hal_ti@33dae8f (master) zephyrproject-rtos/[email protected]
hostap zephyrproject-rtos/hostap@cf05f33 zephyrproject-rtos/hostap@ab7630c zephyrproject-rtos/[email protected]

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant