From patchwork Thu Jul 20 00:50:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Paul Pluzhnikov X-Patchwork-Id: 21699 Received: (qmail 80814 invoked by alias); 20 Jul 2017 00:50:43 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 80799 invoked by uid 89); 20 Jul 2017 00:50:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1685, HTo:U*dj X-HELO: mail-ua0-f182.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=TjOxfYmVaZWameWNUICuDMgR+T3TPbzcQEGuv5TspRw=; b=QvLI8X8/E3FxxbnNocO+5dyN0P7AxDt4JfmCRBrfB7Y8MlUgabkQMxsO0kmqjm+6Tr 6hcCP9sOEC8qvkRZt77yRyL4FumFBqshGiBurKYYZ6aK4UH5QTOOfVYeXipc2IWmsv+t EpiveIC/rN1imDJzUsJfXNtraFRUcNyR3AQWZB6GWyHu797LSS8FWy2VCnyTEr3GnM2n rzlQNT4WiE0WGb8BjoTNZefwcuCUjyzjmczu6qrbe2O8pGfY3rgw6vrvp2UwjRMRtKYf hSEaPWiTlOh/XHvatOQcUC2BGSTB2Wnejsz/JJas4fHrKv6TkTgFfnIv8npsd6QkVIHd TtyA== X-Gm-Message-State: AIVw112/Piy5FEGZ+ILc/WHDCGaLI5X5f9IwpAwEVRKJlK3TQ59GrvWe ZTIi8R98T/f6zguGVGEHBPiJ+i9Pw3aOBM2a1Q== X-Received: by 10.176.68.229 with SMTP id n92mr1211106uan.60.1500511837152; Wed, 19 Jul 2017 17:50:37 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <87mv80nmjw.fsf@linux-m68k.org> From: Paul Pluzhnikov Date: Wed, 19 Jul 2017 17:50:06 -0700 Message-ID: Subject: Re: [patch] NSS test harness upgrade To: DJ Delorie Cc: Andreas Schwab , GLIBC Devel Building with recent trunk GCC: gcc-svn-r249175, I am seeing nss_test1.c:60:46: error: division ‘sizeof (struct passwd *) / sizeof (struct passwd)’ does not compute the number of array elements [-Werror=sizeof-pointer-div] #define default_npwd_data (sizeof (pwd_data) / sizeof (pwd_data[0])) ^ nss_test1.c:63:24: note: in expansion of macro ‘default_npwd_data’ static int npwd_data = default_npwd_data; ^~~~~~~~~~~~~~~~~ nss_test1.c:62:23: note: first ‘sizeof’ operand was declared here static struct passwd *pwd_data = default_pwd_data; ^~~~~~~~ Same for nss_test2.c. I assume this was intended? static int npwd_data = default_npwd_data; On Wed, Jul 19, 2017 at 4:15 PM, DJ Delorie wrote: > > Andreas Schwab writes: >>> - savedmemcount = (size_t) *(savedend - sizeof (size_t)); >>> + savedmemcount = *(size_t *) (savedend - sizeof (size_t)); >> >> I don't see where savedend is aligned. > > It's always a multiple of size_t away from the array we align for in > __copy_grp, since that's where the data comes from. > > Unless there's *another* place where we put together that weird > undocumented layout of the data - in which case, we shouln't ;-) diff --git a/nss/nss_test1.c b/nss/nss_test1.c index b728e418a3..55d3e456d0 100644 --- a/nss/nss_test1.c +++ b/nss/nss_test1.c @@ -57,7 +57,7 @@ static struct passwd default_pwd_data[] = PWD (60), PWD (20000) }; -#define default_npwd_data (sizeof (pwd_data) / sizeof (pwd_data[0])) +#define default_npwd_data (sizeof (default_pwd_data) / sizeof (default_pwd_data[0])) static struct passwd *pwd_data = default_pwd_data;