X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Tue, 01 Sep 2015 18:49:25 +0300 From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]" Subject: Re: different binary output with 32- and 64-bit hosted compilers In-reply-to: X-012-Sender: halo1 AT inter DOT net DOT il To: djgpp AT delorie DOT com Message-id: <83d1y2cf7e.fsf@gnu.org> References: 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 > Date: Tue, 1 Sep 2015 18:20:56 +0300 > From: "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" > > 32-bit (i686-linux fedora-9) and 64-bit (x86_64-linux fedora-20) hosted > djgpp-targeting compiler generates different output for some sources. > This happens with djgpp source itself too, and it isn't a nice thing > and was not an expected thing for me. Did the following with gcc-3.4.6: > > Compiled djgpp-cvs with a 32- and 64-bit hosted toolchain (gcc-3.4.6 > and binutils-2.25.1), then did: > diff -urp --exclude=*.d --exclude=id_*.o --exclude=stub* \ > --exclude=*.tex --exclude=*.exe --exclude=djasm.c \ > 32/src 64/src > 64.diff > ... which results in this: Looks like sign extension and register allocation differences. GCC 3.4.6 is quite old, could well be a compiler bug. Maybe it's a good idea to repeat this experiment with a newer version, like 4.9.x? Thanks.