Skip to content

Conversation

@ueno
Copy link
Contributor

@ueno ueno commented Dec 1, 2025

This imports crau as a git subtree, as a replacement of dist/audit.h.

ueno and others added 30 commits September 17, 2025 21:47
Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
This allows to shorten the names of the enum members.

Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Instead, just use a bogus context value in the error case.

Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Otherwise, we can't create a new context based on the caller's return
address.

Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
ueno and others added 8 commits October 7, 2025 04:58
On macOS, <sys/sdt.h> provides a different interface than Linux. Check
if the header is actually usable.

Signed-off-by: Daiki Ueno <[email protected]>
That way the caller can decide where and how to maintain the context
stack.

Signed-off-by: Daiki Ueno <[email protected]>
If the CRAU_MAYBE_UNUSED macro is unset, the crau.h file tries to
automatically detect an appropriate value for it.

This autodetection is using the cpp special operator
`__has_c_attribute` [1], introduced in gcc 11 [2].

When compiling with a gcc older than version 11, the compilation fails
with the error:

    In file included from audit.h:22,
                     from audit.c:26:
    crau/crau.h:255:23: error: missing binary operator before token "("
         __has_c_attribute (__maybe_unused__)
                           ^

This has been observed, for example, in Rocky Linux 8.10, which
contains a gcc v8.5.0.

The issue happens because the test for the `__has_c_attribute`
availability and the test for the `__maybe_unused__` attribute
are in the same directive. Those tests should be separated in
two different directives, following the same logic described in
the `__has_builtin` documentation [3].

This issue was found in Buildroot, after updating gnutls to
version 3.8.11 in [4].

This commit fixes the issue by splitting the test in two.

[1] https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005fc_005fattribute.html
[2] https://gcc.gnu.org/gcc-11/changes.html#c
[3] https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005fbuiltin.html
[4] https://gitlab.com/buildroot.org/buildroot/-/commit/81dbfe1c2ae848b4eb1f896198d13455df50e548

Reported-by: Neal Frager <[email protected]>
Signed-off-by: Julien Olivain <[email protected]>
Signed-off-by: Daiki Ueno <[email protected]>
git-subtree-dir: dist/crau
git-subtree-mainline: 4df5d90
git-subtree-split: 5c13217
The file was provided to make library integration easier, though it
turned out to be too primitive and incomplete. This removes the file
in favor of the new crau library.

Signed-off-by: Daiki Ueno <[email protected]>
@ueno ueno closed this Dec 1, 2025
@ueno
Copy link
Contributor Author

ueno commented Dec 1, 2025

Let's squash instead of cluttering the commit messages...

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants