Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 43689 invoked from network); 13 Sep 2004 06:20:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 13 Sep 2004 06:20:10 -0000 Received: (qmail 95209 invoked by uid 500); 13 Sep 2004 06:19:43 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 95128 invoked by uid 500); 13 Sep 2004 06:19:43 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 95111 invoked by uid 99); 13 Sep 2004 06:19:42 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [64.61.61.206] (HELO netspace.org) (64.61.61.206) by apache.org (qpsmtpd/0.28) with ESMTP; Sun, 12 Sep 2004 23:19:39 -0700 Received: from netspace.org (localhost.localdomain [127.0.0.1]) by netspace.org (8.12.10/8.12.10) with ESMTP id i8D6JNlj008218 for ; Mon, 13 Sep 2004 02:19:23 -0400 Received: (from gs@localhost) by netspace.org (8.12.10/8.12.10/Submit) id i8D6JK4r008204 for dev@httpd.apache.org; Mon, 13 Sep 2004 02:19:20 -0400 Date: Mon, 13 Sep 2004 02:19:20 -0400 From: Glenn Strauss To: dev@httpd.apache.org Subject: Re: Windows IA64 builds Message-ID: <20040913061920.GB12505@netspace.org> References: <41434B2E.2080702@us.ibm.com> <4144C80F.6080507@us.ibm.com> <6.1.2.0.2.20040913000807.02cf2ec0@pop3.rowe-clan.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6.1.2.0.2.20040913000807.02cf2ec0@pop3.rowe-clan.net> User-Agent: Mutt/1.4.1i X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N On Mon, Sep 13, 2004 at 12:09:20AM -0500, William A. Rowe, Jr. wrote: > At 05:05 PM 9/12/2004, you wrote: > >-AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz); > >+AP_DECLARE(apr_ssize_t) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz); > > > >Don't know why long was used here, but it causes a warning > >for Windows IA64 build since long is 32 bits. I'm wondering > >however if there are any other 64 bit platforms that also have > >32 bit longs that have ignored this warning. Hopefully not > >and therefore this would be safe for backport to 2.0. Anyone > >have information to the contrary? > > On (most/all?) unixes - sizeof(long) == sizeof(void*). Yes, AFAIK all contemporary unices are LP32, ILP32 (most common), or LP64 ABIs. Standard and very predictable and largely compatible (with the exception of (long double) which is implemented by some vendors as IEEE Quad and others as IEEE Double-Extended.) The Open Group has a nice paper out on the subject: http://www.opengroup.org/public/tech/aspen/lp64_wp.htm and compares LP64 to other 64-bit models, including ILP64 and LLP64, the one which Win64 follows. > On Win64, we have sizeof(long) < sizeof(void*). That's the > discrepancy you are observing, and why it wasn't recognized. The WINE dev list had this to contribute, including some GCC compiler switches to help ease the pain: http://www.mail-archive.com/wine-devel@winehq.com/msg14882.html Thread begins here: http://www.mail-archive.com/wine-devel@winehq.com/msg14810.html Cheers, Glenn