diff --git a/lib/libsysdecode/utrace.c b/lib/libsysdecode/utrace.c --- a/lib/libsysdecode/utrace.c +++ b/lib/libsysdecode/utrace.c @@ -169,7 +169,8 @@ 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 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -348,7 +348,8 @@ 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 --- 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' */