From owner-freebsd-threads@FreeBSD.ORG Sat Jun 28 08:30:34 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7DFCA37B401; Sat, 28 Jun 2003 08:30:34 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8D334402B; Sat, 28 Jun 2003 08:30:32 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5SFUWDZ043497; Sat, 28 Jun 2003 08:30:32 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp01.pn.xcllnt.net (localhost [127.0.0.1]) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h5SFUWsi000669; Sat, 28 Jun 2003 08:30:32 -0700 (PDT) (envelope-from marcel@dhcp01.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h5SFUWu0000668; Sat, 28 Jun 2003 08:30:32 -0700 (PDT) Date: Sat, 28 Jun 2003 08:30:32 -0700 From: Marcel Moolenaar To: deischen@freebsd.org Message-ID: <20030628153032.GA577@dhcp01.pn.xcllnt.net> References: <20030628063503.GA37411@dhcp01.pn.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.4i cc: threads@freebsd.org Subject: Re: KSE: fuword/suword bugs on ia64 X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jun 2003 15:30:34 -0000 On Sat, Jun 28, 2003 at 10:06:02AM -0400, Daniel Eischen wrote: > > > > I've started runtime testing and ran into ILP32/LP64 bugs. Attached > > a patch that solve the first problems without affecting i386. The > > patch is intended to illustrate the problem more than it suggest a > > solution. I'm more than happy to test alternative solutions. > > Note that the use of uint32_t instead of unsigned int is mostly > > to mirror the use of fuword32/suword32... > > I don't have any problem with the patch. Is there another > solution you'd rather see, perhaps using 64bit values? I was thinking about using long. fuword/suword is defined in terms of long, so technically it's a bug to have them operate on int. But using long will yield 64-bit fields on 64-bit platforms, and it may just be a waste of space. Although internal alignment and padding may already take up as much space (tm_flags, km_version, km_flags are examples of this). I'm divided on the issue. I prefer using long for it being the best native type, but don't like the immediate consequence of it being too variable for use in interface types (take for example the 64-bit long on i386 that bde is playing with). With the patch I favored the fixed width property on uint32_t. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net