This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: New Tot Build problem with Tot GCC (strncpy warnings)
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Steve Ellcey <sellcey at cavium dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Tue, 12 Dec 2017 18:24:45 +0000
- Subject: Re: New Tot Build problem with Tot GCC (strncpy warnings)
- Authentication-results: sourceware.org; auth=none
- References: <1513100610.23303.49.camel@cavium.com>
On Tue, 12 Dec 2017, Steve Ellcey wrote:
> I am not sure if this is due to a GCC change or a glibc change but I am
> still unable to build the ToT glibc with the ToT GCC. The
> nextafter/nexttoward problem has been fixed, the current errors I get
> are due to strncpy warnings. I thought we had fixed these but either
> GCC changed or glibc changed and we have some new ones:
>
> Building glibc on aarch64:
>
> In file included from nss_files/files-init.c:22:
> nss_files/files-init.c: In function ‘_nss_files_init’:
> ../nscd/nscd.h:111:8: error: ‘strncpy’ output truncated copying 4 bytes
> from a string of length 11 [-Werror=stringop-truncation]
> strncpy (file->dname, file->fname, len);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These look like they should be memcpy. The truncation is intended (it's
copying a directory name without the trailing '/' and filename in the
source string), but since the exact amount to copy is known at that point,
memcpy suffices to express the intent and should avoid the warning.
--
Joseph S. Myers
joseph@codesourcery.com