delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2015/09/02/03:18:41

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=pwcocagjOIdHOZmoheqI+5KklI8t+6OZEYPDLYC6DR0=;
b=kr247CPn6qlOlkaiWaox074jesYVgbFVuUiEr0xiwUNuSySMmlNQ7UZBZX/HWPPWKP
yGQ75C8SPz20EOW9IzsDWLW9aC3b7a6kd3WO/PQEPNHv6cakd+g7cPYGJ2snLiSY8xIC
+PTlFi2zbAoz6pDpFWdi0n2mi1yCeOndcqfDsi0KVr0Cf/IP109+HoGvYdhLEXQa0n0Z
DwLqmkEBQYd5EaU8Q5GVNyA0FpOm3Wt2+Xfch08Pj4Ise4NDRwECAhwf7KaweymXiTbx
kTkrApYE/+2wMKQgQ4PA7IZaDGKw3mIqe08t7PCb5dB0bRCUmRvGNzG6QY2kP/mzOfhd
Ux5w==
MIME-Version: 1.0
X-Received: by 10.107.161.197 with SMTP id k188mr34466228ioe.190.1441178304769;
Wed, 02 Sep 2015 00:18:24 -0700 (PDT)
In-Reply-To: <ms63dr$3k4$1@speranza.aioe.org>
References: <CAA2C=vBjWACN4ZNsYTeCWXOr9vU9s2s23ZaXvLuCgE=OEWK1Vg AT mail DOT gmail DOT com>
<83d1y2cf7e DOT fsf AT gnu DOT org>
<CAA2C=vCu9fjcEDr_3_FLMXoRzuvmXw57zRkwchbYRD1SpqS4NA AT mail DOT gmail DOT com>
<ms63dr$3k4$1 AT speranza DOT aioe DOT org>
Date: Wed, 2 Sep 2015 10:18:24 +0300
Message-ID: <CAA2C=vABL08je+e-uOpgkSAR+_Zrs80AkAzQEbXUc6CJhOq4AA@mail.gmail.com>
Subject: Re: different binary output with 32- and 64-bit hosted compilers
From: "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
To: djgpp AT delorie DOT com
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 9/2/15, Martin Str|mberg <ams AT ludd DOT luth DOT se> wrote:
> "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]"
> <djgpp AT delorie DOT com> wrote:
> ...
>> Binary files 32/src/debug/fsdb/expr.o and 64/src/debug/fsdb/expr.o differ
>> diff -urp '--exclude=*.d' '--exclude=*.i' '--exclude=id_*.o'
>> '--exclude=stub*' '--exclude=*.tex' '--exclude=*.exe'
>> '--exclude=djasm.c' 32/src/libc/ansi/stdio/doprnt.s
>> 64/src/libc/ansi/stdio/doprnt.s
>> --- 32/src/libc/ansi/stdio/doprnt.s     2015-09-01 20:57:08.000000000
>> +0300
>> +++ 64/src/libc/ansi/stdio/doprnt.s     2015-09-01 21:06:18.258481451
>> +0300
>> @@ -4788,85 +4788,85 @@ _NAN_REP.3610:
>>         .ascii "NAN\0"
>>         .p2align 4
>>  _powtenneg:
>> -       .long   -858993459
>> -       .long   -858993460
>> +       .long   3435973837
>> +       .long   3435973836
>
>
> -858993459 and 3435973837 is the same number on a 32-bit
> two-complements machine (you'll get the same bit pattern in the
> memory). Likewise -858993460 and 3435973836.
>
> I say all the others are as well but I haven't verified that.

I have a source that gives the following asm output difference

--- g_weapon.s
+++ ../../g_weapon.s
@@ -4526,7 +4526,7 @@
 	.long	1065353216
 	.p2align 3
 LC5:
-	.long	-1717986918
+	.long	2576980378
 	.long	1069128089
 	.p2align 2
 LC13:

... and results in different *.o.  This is with gcc5 (which I really
don't want to use).

The original mail shows that with gcc-3.4.6 there are not only differences
like -858993459 and 3435973837 but also asm output differences.
Similar with gcc-3.3.6. (And I understand that people wouldn't want to
go back to those old gcc.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019