From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2899 invoked by alias); 27 Jun 2012 12:02:08 -0000 Received: (qmail 2653 invoked by uid 22791); 27 Jun 2012 12:02:05 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-qa0-f51.google.com (HELO mail-qa0-f51.google.com) (209.85.216.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 27 Jun 2012 12:01:45 +0000 Received: by qaea16 with SMTP id a16so802609qae.3 for ; Wed, 27 Jun 2012 05:01:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.135.10 with SMTP id l10mr8768813qct.6.1340798504772; Wed, 27 Jun 2012 05:01:44 -0700 (PDT) Received: by 10.229.192.129 with HTTP; Wed, 27 Jun 2012 05:01:44 -0700 (PDT) In-Reply-To: References: <69b1606d-6150-46eb-a426-93bfad19e7a2@googlegroups.com> Date: Wed, 27 Jun 2012 12:02:00 -0000 Message-ID: Subject: Re: [x86-64 psABI] RFC: Extend x86-64 psABI to support x32 From: "H.J. Lu" To: x32-abi@googlegroups.com Cc: discuss@x86-64.org, GCC Development , Binutils , GNU C Library , GDB Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00089.txt.bz2 On Tue, Jun 26, 2012 at 10:56 PM, Mark Butler wrote: > > > On Tuesday, June 26, 2012 3:22:45 PM UTC-6, H.J. wrote: >> >> On Tue, Jun 26, 2012 at 2:11 PM, Mark Butler wrote: >> > >> >> x32 is designed to replace ia32 where long is 32-bit, not x86-64. >> >> >> > I understand, but wouldn't L64P32 be much better in the long run? In >> > terms >> > of compatibility with LP64, and an LP64 kernel in particular? =A0The >> > structure >> > layouts of any structure that did not contain pointers would be >> > identical, >> > for example. =A0struct timeval, struct timespec, struct stat, and on a= nd >> > on... >> >> Linux/x32 uses the same layout for struct timeval, struct timespec, stru= ct >> stat, >> as Linux/x86-64. It is orthogonal to L64 vs L32. >> > If POSIX requires struct timespec to look like this: > > struct timespec { > =A0 time_t tv_sec; > =A0 long =A0 tv_nsec; > } > > then how can an ABI with 32 bit longs have the same struct timespec layout > as an ABI with 64 bit longs? > We changed it to struct timespec { __time_t tv_sec; /* Seconds. */ __syscall_slong_t tv_nsec; /* Nanoseconds. */ }; --=20 H.J.