From owner-freebsd-arch@FreeBSD.ORG Mon Feb 13 08:34:31 2006 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E78DC16A420; Mon, 13 Feb 2006 08:34:31 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd4mo2so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 766D143D46; Mon, 13 Feb 2006 08:34:31 +0000 (GMT) (envelope-from cperciva@freebsd.org) Received: from pd4mr4so.prod.shaw.ca (pd4mr4so-qfe3.prod.shaw.ca [10.0.141.215]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IUM00A1IAHI2W40@l-daemon>; Mon, 13 Feb 2006 01:34:30 -0700 (MST) Received: from pn2ml3so.prod.shaw.ca ([10.0.121.147]) by pd4mr4so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IUM001QRAHIBE90@pd4mr4so.prod.shaw.ca>; Mon, 13 Feb 2006 01:34:30 -0700 (MST) Received: from [192.168.0.60] ([24.82.18.31]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IUM00H1PAHHHV30@l-daemon>; Mon, 13 Feb 2006 01:34:30 -0700 (MST) Date: Mon, 13 Feb 2006 00:34:28 -0800 From: Colin Percival In-reply-to: <20060213082129.GA13997@flame.pc> To: Giorgos Keramidas Message-id: <43F04494.4030900@freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Enigmail-Version: 0.94.0.0 References: <20060205084813.GN21806@wombat.fafoe.narf.at> <867j89n71d.fsf@xps.des.no> <20060205220211.GA5151@falcon.midgard.homeip.net> <20060213.002310.125802352.imp@bsdimp.com> <20060213082129.GA13997@flame.pc> User-Agent: Thunderbird 1.5 (X11/20060112) Cc: arch@freebsd.org, stefanf@freebsd.org, des@des.no Subject: Re: [releng_6 tinderbox] failure on sparc64/sparc64 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Feb 2006 08:34:32 -0000 Giorgos Keramidas wrote: > On 2006-02-13 00:23, "M. Warner Losh" wrote: >> struct foo foo; >> uint32_t value[sizeof(foo) / sizeof(uint32_t)]; >> >> memcpy(value, &foo); >> // write out value one 32-bit word at a time >> >> Is that right? Or at least 'proper' here means defined. > > AFAIK, yes. I agree that the behaviour of the above code is defined, but I'd be much happier if value[] was defined to be an array of length ((sizeof(foo) - 1) / sizeof(uint32_t) + 1), just in case sizeof(foo) happens to not be a multiple of 4. :-) Colin Percival