From owner-freebsd-sparc64@FreeBSD.ORG Wed Oct 15 02:02:47 2003 Return-Path: Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6A54A16A4B3; Wed, 15 Oct 2003 02:02:47 -0700 (PDT) Received: from mailhub.fokus.fraunhofer.de (mailhub.fokus.fraunhofer.de [193.174.154.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9428743F93; Wed, 15 Oct 2003 02:02:39 -0700 (PDT) (envelope-from brandt@fokus.fraunhofer.de) Received: from beagle (beagle [193.175.132.100])h9F92WD22670; Wed, 15 Oct 2003 11:02:32 +0200 (MEST) Date: Wed, 15 Oct 2003 11:02:32 +0200 (CEST) From: Harti Brandt To: John-Mark Gurney In-Reply-To: <20031015085659.GX533@funkthat.com> Message-ID: <20031015105841.C57857@beagle.fokus.fraunhofer.de> References: <20031013153219.H45269@beagle.fokus.fraunhofer.de> <20031015045429.Q41837@gamplex.bde.org> <20031015090422.M57857@beagle.fokus.fraunhofer.de> <20031015085659.GX533@funkthat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: standards@freebsd.org cc: sparc64@freebsd.org cc: Bruce Evans cc: Marcel Moolenaar Subject: Re: time_t on sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Oct 2003 09:02:47 -0000 On Wed, 15 Oct 2003, John-Mark Gurney wrote: JG>Marcel Moolenaar wrote this message on Wed, Oct 15, 2003 at 00:44 -0700: JG>> Yes. The MI code is already done and there's not much MD code that JG>> is expected to break. It's mostly the structures that change. This JG>> is especially painful on sparc64 because it's big-endian. I assume JG>> that sparc64 passes syscall arguments in registers, so the syscalls JG>> that take a time_t do not change except that there's no sign extension JG>> prior to use. You can preserve the ABI until 2038 by ignoring the JG>> upper 32-bits in that case. JG> JG>There is if you load a signed 32bit value into the register... sparc JG>will automaticly sign extend the register when loading a 32bit value.. JG>This was done to be backwards compatible with sparcv8. JG> JG>So the question is, does the values get loaded into different registers? JG>or are they packed into a single register? I guess, IF we go the road now to change time_t to 64 bit, we should NOW break the ABI (if this change breaks the ABI). This brings us more in line with other systems and platforms and is a lot less problematic now that we have only -current than later. I suggest we do it NOW especially given that ia64 already does this and, obviously, has worked out the MI problems. harti -- harti brandt, http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.fraunhofer.de, harti@freebsd.org