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: References: <83d1y2cf7e DOT fsf AT gnu DOT org> Date: Wed, 2 Sep 2015 10:18:24 +0300 Message-ID: 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]" To: djgpp AT delorie DOT com Content-Type: text/plain; charset=UTF-8 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 Precedence: bulk On 9/2/15, Martin Str|mberg wrote: > "Ozkan Sezer (sezeroz AT gmail DOT com) [via 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.)