git: 86f325711c07 - main - rtld: silence clang's unterminated-string-initialization warning
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Dec 2025 20:22:44 UTC
The branch main has been updated by arichardson:
URL: https://cgit.FreeBSD.org/src/commit/?id=86f325711c07b723b85c031d581d0a5c1a0964f3
commit 86f325711c07b723b85c031d581d0a5c1a0964f3
Author: Alex Richardson <arichardson@FreeBSD.org>
AuthorDate: 2025-12-16 18:09:10 +0000
Commit: Alex Richardson <arichardson@FreeBSD.org>
CommitDate: 2025-12-16 20:21:45 +0000
rtld: silence clang's unterminated-string-initialization warning
Since the initializer is used in other places where we can't just
replace it with a char-by-char initializer, this adds a macro for the
nonstring attribute (match the linuxkpi definition).
Reviewed by: emaste, jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D52535
---
lib/libsysdecode/utrace.c | 3 ++-
libexec/rtld-elf/rtld.c | 3 ++-
libexec/rtld-elf/rtld_utrace.h | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/libsysdecode/utrace.c b/lib/libsysdecode/utrace.c
index 67ba86bfbf7b..8932f4b7e58f 100644
--- a/lib/libsysdecode/utrace.c
+++ b/lib/libsysdecode/utrace.c
@@ -169,7 +169,8 @@ sysdecode_utrace(FILE *fp, void *p, size_t len)
struct utrace_malloc um;
struct utrace_malloc32 *pm;
#endif
- static const char rtld_utrace_sig[RTLD_UTRACE_SIG_SZ] = RTLD_UTRACE_SIG;
+ static const char rtld_utrace_sig[RTLD_UTRACE_SIG_SZ] __nonstring =
+ RTLD_UTRACE_SIG;
if (len == sizeof(struct utrace_rtld) && bcmp(p, rtld_utrace_sig,
sizeof(rtld_utrace_sig)) == 0)
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 8ac897508870..39fb6bc5fb31 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -348,7 +348,8 @@ ld_utrace_log(int event, void *handle, void *mapbase, size_t mapsize,
int refcnt, const char *name)
{
struct utrace_rtld ut;
- static const char rtld_utrace_sig[RTLD_UTRACE_SIG_SZ] = RTLD_UTRACE_SIG;
+ static const char rtld_utrace_sig[RTLD_UTRACE_SIG_SZ] __nonstring =
+ RTLD_UTRACE_SIG;
memset(&ut, 0, sizeof(ut)); /* clear holes */
memcpy(ut.sig, rtld_utrace_sig, sizeof(ut.sig));
diff --git a/libexec/rtld-elf/rtld_utrace.h b/libexec/rtld-elf/rtld_utrace.h
index c14a62ddcb0b..dee807cc0098 100644
--- a/libexec/rtld-elf/rtld_utrace.h
+++ b/libexec/rtld-elf/rtld_utrace.h
@@ -49,7 +49,7 @@
#define RTLD_UTRACE_SIG "RTLD"
struct utrace_rtld {
- char sig[RTLD_UTRACE_SIG_SZ];
+ char sig[RTLD_UTRACE_SIG_SZ] __nonstring;
int event;
void *handle;
void *mapbase; /* Used for 'parent' and 'init/fini' */