From owner-freebsd-current@FreeBSD.ORG Mon Jul 5 16:30:44 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D002616A4CE for ; Mon, 5 Jul 2004 16:30:44 +0000 (GMT) Received: from smtp.des.no (flood.des.no [217.116.83.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9194443D48 for ; Mon, 5 Jul 2004 16:30:44 +0000 (GMT) (envelope-from des@des.no) Received: by smtp.des.no (Pony Express, from userid 666) id 744FE531A; Mon, 5 Jul 2004 18:30:43 +0200 (CEST) Received: from dwp.des.no (des.no [80.203.228.37]) by smtp.des.no (Pony Express) with ESMTP id 186D85309; Mon, 5 Jul 2004 18:30:36 +0200 (CEST) Received: by dwp.des.no (Postfix, from userid 2602) id B0658B860; Mon, 5 Jul 2004 18:30:35 +0200 (CEST) To: David Malone References: <20040705133820.GA9159@stud.fit.vutbr.cz> <20040705161059.GA52584@walton.maths.tcd.ie> From: des@des.no (=?iso-8859-1?q?Dag-Erling_Sm=F8rgrav?=) Date: Mon, 05 Jul 2004 18:30:35 +0200 In-Reply-To: <20040705161059.GA52584@walton.maths.tcd.ie> (David Malone's message of "Mon, 5 Jul 2004 17:10:59 +0100") Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on flood.des.no X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.63 cc: Divacky Roman cc: current@freebsd.org Subject: Re: recent libalias changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 16:30:44 -0000 David Malone writes: > With Divacky's help we localised his problem to alias.c. The twowords > function breaks the strick aliasing rule, try replacing it with: > > static __inline int > twowords(void *p) > { > unsigned char *c =3D p; > > return ((((unsigned short)c[1] + (unsigned short)c[3])<<8) + c[0]= + c[2]; > } oh no you don't - this is not endian-clean. DES --=20 Dag-Erling Sm=F8rgrav - des@des.no