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=yahoo.com; s=s2048; t=1441167672; bh=etsznoCAHhV/ujjWvRiSmxdPBSstRJe3a0tfuujuld8=; h=Date:From:Reply-To:To:In-Reply-To:References:Subject:From:Subject; b=exJ3ohUTRWk36INtAMJ6F5HyuOM4qR/bA74Mgry+h1q923DxpO8uvDGJQ1YKtI3VJ7k+wbISNxtTmYWzqI2aFtR8YjIk4ZqaeYYhDIdZKojeszRD1JYL9JJalIEYzL1hYTEDaX6dle/E/N+HdPQA/w8JcVpfb5AFJxYYt8g7e1IMre5VF0Y4t81BekvF8w9SnMdQvAPqHQ1oxF+jMiDMmsYjyS5tNtmW+AlnJQzkEj7kz25rBWl6dWh0J34RGpyxGjfuoFNvKhS+9VabFn3pCM4MoDwK2Zhty4D1gbyMxygpQd3h2+iGor7R3H/dZJ55ppDkVEmWGhZCqN7deB6RSA== X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 293925 DOT 59609 DOT bm AT omp1007 DOT mail DOT bf1 DOT yahoo DOT com X-YMail-OSG: W3x55n8VM1nwzh7KAGoVjQdOAJldftino7.UZjMzhQgM5IM4STJ6L8.4zEv4QuK dBEu5BMwIqKE2eKhb6f1MdXT.LRP2Yf7CrpFfl979XyVd1onPAk4UWD4Gdn5ujZpQRC.rcxiUNWD koESbgA0rNJT1Ccevn4.ifC1BsUgR.B2N9FfCfexRIfLUOw6zMj8j7sG7XkrhEvqkdO0dBpspCGm BFi44p2gjTHbRmsNr1UF9OmYulJza3qcKs5AqidYBHeM7fgGsrW0PZHQcHmyG6X8DL2PoBTSb5sd TMnCPIET8FUT7EMiWts4hUMhXgXQJYaua6cvo_.D3NEAkzchjP.nbACFysZdRRGp28p2_tBh_Sor EllIWKmx.tFHqgEnXmYb8tk11LqCRIyZ48qauaym7d8AvC5QrDjqMC42Y2kzQU.kdFjryyQGmwUl ZtqGWfGCcrG_wvngwYCW0H_0jL2JTwq8xbgDOp7FsztB9SX.5tvv9OIggtHDmWwAM9WibyIGmsLh UcdFHPL3invzLQIZyu2pawWajVcgLj_MmSHL0JBHhGQ-- Date: Wed, 2 Sep 2015 04:21:11 +0000 (UTC) From: "Peter Bailie (prbailie AT yahoo DOT com) [via djgpp AT delorie DOT com]" To: "djgpp AT delorie DOT com" Message-ID: <805416689.150187.1441167671558.JavaMail.yahoo@mail.yahoo.com> In-Reply-To: References: Subject: Re: different binary output with 32- and 64-bit hosted compilers MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_150186_1391873034.1441167671550" 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 ------=_Part_150186_1391873034.1441167671550 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I'm not sure but from your email is there a djgpp that runs on a 64 bit ope= rating system? =C2=A0 The current djgpp source files that I have will not r= un on my windows 7 64 bit operating system.=C2=A0 Thank you for any info yo= u can give me. On Tuesday, September 1, 2015 8:22 AM, "Ozkan Sezer (sezeroz AT gmail DOT com= ) [via djgpp AT delorie DOT com]" wrote: =20 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=3D*.d --exclude=3Did_*.o --exclude=3Dstub* \ =C2=A0 --exclude=3D*.tex --exclude=3D*.exe --exclude=3Ddjasm.c \ =C2=A0 32/src 64/src > 64.diff ... which results in this: Binary files 32/src/debug/fsdb/expr.o and 64/src/debug/fsdb/expr.o differ Binary files 32/src/libc/ansi/stdio/doprnt.o and 64/src/libc/ansi/stdio/doprnt.o differ Binary files 32/src/libc/ansi/stdlib/strtoll.o and 64/src/libc/ansi/stdlib/strtoll.o differ Binary files 32/src/libc/compat/stdlib/rand48.o and 64/src/libc/compat/stdlib/rand48.o differ Binary files 32/src/libc/posix/sys/stat/lfilelen.o and 64/src/libc/posix/sys/stat/lfilelen.o differ Binary files 32/src/libc/posix/unistd/lseek.o and 64/src/libc/posix/unistd/lseek.o differ Binary files 32/src/libm/math/llroundl.o and 64/src/libm/math/llroundl.o di= ffer Binary files 32/src/libm/math/lroundl.o and 64/src/libm/math/lroundl.o diff= er Binary files 32/src/libm/math/roundl.o and 64/src/libm/math/roundl.o differ Binary files 32/src/libm/math/trunc.o and 64/src/libm/math/trunc.o differ So I added -save-temps to the relevant sources' EXTRA_CFLAGS in the makefiles and repeated the experiment, and ran diff like: diff -urp --exclude=3D*.o --exclude=3D*.i --exclude=3D*.d --exclude=3Did_*.= o \ =C2=A0 --exclude=3Dstub* --exclude=3D*.tex --exclude=3D*.exe --exclude=3Ddj= asm.c \ =C2=A0 32/src 64/src > 64x.diff ... which generated the attached output (Attached: 64x.diff.gz) Didn't try with any other gcc version (at least not yet). Can anyone reproduce? -- O.S. ------=_Part_150186_1391873034.1441167671550 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I'm not sure but from your email is ther= e a djgpp that runs on a 64 bit operating system?   The current djgpp so= urce files that I have will not run on my windows 7 64 bit operating system= .  Thank you for any info y= ou can give me.



On Tuesday, September 1, 2015 8:22 AM, "Ozkan Sezer (sez= eroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> wrote:


32-bit (i686-lin= ux 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 expect= ed thing for me. Did the following with gcc-3.4.6:

Compiled djgpp-cv= s with a 32- and 64-bit hosted toolchain (gcc-3.4.6
and binutils-2.25.1)= , then did:
diff -urp --exclude=3D*.d --exclude=3Did_*.o --exclude=3Dstu= b* \
  --exclude=3D*.tex --exclude=3D*.exe --exclude=3Ddjasm.c \  32/src 64/src > 64.diff
... which results in this:

Bi= nary files 32/src/debug/fsdb/expr.o and 64/src/debug/fsdb/expr.o differ
= Binary files 32/src/libc/ansi/stdio/doprnt.o and
64/src/libc/ansi/stdio/= doprnt.o differ
Binary files 32/src/libc/ansi/stdlib/strtoll.o and
64= /src/libc/ansi/stdlib/strtoll.o differ
Binary files 32/src/libc/compat/s= tdlib/rand48.o and
64/src/libc/compat/stdlib/rand48.o differ
Binary f= iles 32/src/libc/posix/sys/stat/lfilelen.o and
64/src/libc/posix/sys/sta= t/lfilelen.o differ
Binary files 32/src/libc/posix/unistd/lseek.o and64/src/libc/posix/unistd/lseek.o differ
Binary files 32/src/libm/math/l= lroundl.o and 64/src/libm/math/llroundl.o differ
Binary files 32/src/lib= m/math/lroundl.o and 64/src/libm/math/lroundl.o differ
Binary files 32/s= rc/libm/math/roundl.o and 64/src/libm/math/roundl.o differ
Binary files = 32/src/libm/math/trunc.o and 64/src/libm/math/trunc.o differ

So I ad= ded -save-temps to the relevant sources' EXTRA_CFLAGS in the
makefiles a= nd repeated the experiment, and ran diff like:
diff -urp --exclude=3D*.o= --exclude=3D*.i --exclude=3D*.d --exclude=3Did_*.o \
  --exclude= =3Dstub* --exclude=3D*.tex --exclude=3D*.exe --exclude=3Ddjasm.c \
 = ; 32/src 64/src > 64x.diff

... which generated the attached outpu= t (Attached: 64x.diff.gz)

Didn't try with any other gcc version (at = least not yet).
Can anyone reproduce?

--
O.S.


------=_Part_150186_1391873034.1441167671550--