From owner-freebsd-arm@FreeBSD.ORG Wed Jan 9 11:47:11 2013 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B1C39700; Wed, 9 Jan 2013 11:47:11 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) by mx1.freebsd.org (Postfix) with ESMTP id 6F86880F; Wed, 9 Jan 2013 11:47:10 +0000 (UTC) Received: from [192.168.0.2] (cpc10-cmbg15-2-0-cust123.5-4.cable.virginmedia.com [86.30.246.124]) (authenticated bits=0) by theravensnest.org (8.14.5/8.14.5) with ESMTP id r09BkxIj092907 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Wed, 9 Jan 2013 11:47:00 GMT (envelope-from theraven@FreeBSD.org) Subject: Re: FreeBSD/armv6z/clang on Raspberry Pi 512MB (with U-Boot + ubldr) Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=iso-8859-1 From: David Chisnall In-Reply-To: Date: Wed, 9 Jan 2013 11:46:56 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <0C01FA61-5BC9-4FA2-B3F2-E843E2B29B54@FreeBSD.org> References: <2BA73CBF02B04DD19D08CDFC556B8750@ad.peach.ne.jp> <1356624694.1144.67.camel@revolution.hippie.lan> <234E1E18AC1C4A3985D6C570F78698E6@ad.peach.ne.jp> <9ED42265200A41B1BD637682720E0E9D@ad.peach.ne.jp> To: Adrian Chadd X-Mailer: Apple Mail (2.1278) Cc: freebsd-arm@FreeBSD.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2013 11:47:11 -0000 On 28 Dec 2012, at 16:47, Adrian Chadd wrote: > david - what's the "right" behaviour here? Surely clang should be > inserting 4 bytes of padding before that pointer? The problem appears to be that clang is folding two 32-bit stores into a = 64-bit store, which is a perfectly safe thing to do half of the time = (i.e. when the alignment of the first one is 64 bits), but not the other = half. I've asked ARM's LLVM/Clang team to look at it, and they say that = they can probably do so soon if there's a bug filed in LLVM's bugzilla = with a reduced test case. David=