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
This commit is contained in:
Alex Richardson 2025-12-16 10:09:10 -08:00
parent 79f578531f
commit 86f325711c
3 changed files with 5 additions and 3 deletions

View file

@ -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)

View file

@ -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));

View file

@ -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' */