X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Message-ID: <52A8BD35.1060500@iki.fi> Date: Wed, 11 Dec 2013 21:29:57 +0200 From: Andris Pavenis User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Using DJGPP for C++ DOS development today? References: <0404a92b-e194-4e75-97b5-58c8e5b3c076 AT googlegroups DOT com> <52957941 DOT 9050203 AT iki DOT fi> <57ae09cc-bc48-4dcf-978d-9078096b2127 AT googlegroups DOT com> <82676ab0-7e81-4b89-bc7a-e3360d6c3b93 AT googlegroups DOT com> <201311281705 DOT rASH5KiD027835 AT envy DOT delorie DOT com> <52A8BAEE DOT 6000109 AT iki DOT fi> In-Reply-To: <52A8BAEE.6000109@iki.fi> Content-Type: multipart/mixed; boundary="------------060303080403020808090609" Reply-To: djgpp AT delorie DOT com This is a multi-part message in MIME format. --------------060303080403020808090609 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 12/11/2013 09:20 PM, Andris Pavenis wrote: > On 11/28/2013 07:05 PM, DJ Delorie wrote: >>> I found this: >>> https://groups.google.com/forum/#!topic/comp.os.msdos.djgpp/WeMjxnR1NBc >>> which seems to indicate that GCC will output non-386 opcodes anyway :-( >> Only for atomic operations, which are typically only used when >> threading, and DJGPP doesn't support threading. > I did check with simple script (see attachment) under Linux in cross-compiler > libstdc++ build directory (therefore i586-pc-msdosdjgpp-objdump) > Forgot to attach the script. Running it in top build directory for gcc-4.8.2 cross-compiler I'm getting output given in another attachment. So one can on 30386 expect trouble not only with libstdc++ but also with FORTRAN, Ada and possibly even C Andris --------------060303080403020808090609 Content-Type: application/x-shellscript; name="search486.sh" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="search486.sh" IyEgL2Jpbi9zaApzZWFyY2hfd29yZHM9ImJzd2FwIGNtcHhjaGcgeGFkZCIKc3JjX2ZpbGVz PSQoZmluZCAuIC10eXBlIGYgLWEgLW5hbWUgJyoubycpCmZvciB3IGluICRzZWFyY2hfd29y ZHMgOyBkbwogICAgZm9yIHggaW4gJHNyY19maWxlcyA7IGRvCiAgICAgICAgaWYgaTU4Ni1w Yy1tc2Rvc2RqZ3BwLW9iamR1bXAgLS1kaXNhc3NlbWJsZSAkeCAyPi9kZXYvbnVsbCB8IGdy ZXAgLXcgJHcgID5kaXNhc20udG1wIDsgdGhlbgogICAgICAgICAgICBlY2hvICc9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScKICAgICAgICAg ICAgZWNobyAkeAogICAgICAgICAgICBjYXQgZGlzYXNtLnRtcAogICAgICAgIGZpCiAgICBk b25lCmRvbmUK --------------060303080403020808090609 Content-Type: text/plain; charset=UTF-8; name="search486.out" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="search486.out" ================================================== ./i586-pc-msdosdjgpp/libgcc/_bswapsi2.o 4: 0f c8 bswap %eax ================================================== ./i586-pc-msdosdjgpp/libgcc/_bswapdi2.o 8: 0f ca bswap %edx a: 0f c8 bswap %eax ================================================== ./i586-pc-msdosdjgpp/libgfortran/file_pos.o 3f1: 0f c8 bswap %eax 3fb: 0f c8 bswap %eax ================================================== ./i586-pc-msdosdjgpp/libgfortran/transfer.o 58: 0f cb bswap %ebx 6f: 0f cb bswap %ebx 71: 0f ce bswap %esi 8a: 0f cb bswap %ebx 97: 0f cb bswap %ebx 99: 0f c9 bswap %ecx b9: 0f ce bswap %esi bb: 0f cf bswap %edi bd: 0f c9 bswap %ecx bf: 0f cb bswap %ebx a8: 0f ca bswap %edx aa: 0f c9 bswap %ecx d5: 0f ca bswap %edx 77: 0f ca bswap %edx f6: 0f ca bswap %edx ================================================== ./i586-pc-msdosdjgpp/libquadmath/printf/fpioconst.o a77: 0f cd bswap %ebp ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/j1q.o 79a3: 0f c9 bswap %ecx ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/expq.o 389a: 0f c8 bswap %eax ================================================== ./gcc/ada/rts/a-nscoty.o 10d1: 0f c9 bswap %ecx ================================================== ./gcc/ada/rts/a-ncelfu.o 57e9: 0f c9 bswap %ecx ================================================== ./gcc/ada/rts/a-nucoty.o 10d1: 0f c9 bswap %ecx ================================================== ./gcc/ada/rts/g-shsh32.o 3db: 0f cc bswap %esp 4eb: 0f cc bswap %esp ================================================== ./gcc/ada/rts/a-nscefu.o 57e9: 0f c9 bswap %ecx ================================================== ./gcc/ada/rts/g-bytswa.o 16: 0f c8 bswap %eax 2f: 0f ce bswap %esi 31: 0f cb bswap %ebx ================================================== ./gcc/ada/rts/i-fortra.o 2505: 0f c9 bswap %ecx ================================================== ./gcc/ada/rts/g-alleve.o 1205d: 0f c9 bswap %ecx ================================================== ./i586-pc-msdosdjgpp/libbacktrace/fileline.o 94: f0 0f b1 73 1c lock cmpxchg %esi,0x1c(%ebx) b3: f0 0f b1 43 0c lock cmpxchg %eax,0xc(%ebx) 1d0: f0 0f b1 53 0c lock cmpxchg %edx,0xc(%ebx) 1fd: f0 0f b1 53 1c lock cmpxchg %edx,0x1c(%ebx) ================================================== ./i586-pc-msdosdjgpp/libbacktrace/dwarf.o 20af: f0 0f b1 02 lock cmpxchg %eax,(%edx) 222a: f0 0f b1 39 lock cmpxchg %edi,(%ecx) 2729: f0 0f b1 4b 34 lock cmpxchg %ecx,0x34(%ebx) 2730: f0 0f b1 73 38 lock cmpxchg %esi,0x38(%ebx) 2737: f0 0f b1 7b 3c lock cmpxchg %edi,0x3c(%ebx) 2742: f0 0f b1 4b 30 lock cmpxchg %ecx,0x30(%ebx) 35c4: f0 0f b1 1a lock cmpxchg %ebx,(%edx) 4539: f0 0f b1 0b lock cmpxchg %ecx,(%ebx) 4545: f0 0f b1 13 lock cmpxchg %edx,(%ebx) ================================================== ./i586-pc-msdosdjgpp/libgfortran/unit.o 3: f0 0f c1 05 00 00 00 lock xadd %eax,0x0 ================================================== ./i586-pc-msdosdjgpp/libgfortran/unix.o 58: f0 0f c1 0b lock xadd %ecx,(%ebx) ================================================== ./i586-pc-msdosdjgpp/libstdc++-v3/src/c++98/atomicity.o 8: f0 0f c1 02 lock xadd %eax,(%edx) ================================================== ./i586-pc-msdosdjgpp/libstdc++-v3/libsupc++/eh_ptr.o 20: f0 0f c1 43 a0 lock xadd %eax,-0x60(%ebx) 11: f0 0f c1 50 a0 lock xadd %edx,-0x60(%eax) ================================================== ./i586-pc-msdosdjgpp/libstdc++-v3/libsupc++/eh_throw.o 12: f0 0f c1 50 c0 lock xadd %edx,-0x40(%eax) ================================================== ./i586-pc-msdosdjgpp/libstdc++-v3/libsupc++/eh_tm.o f: f0 0f c1 03 lock xadd %eax,(%ebx) ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/sincos_table.o f1b: 0f c1 c7 xadd %eax,%edi ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/erfq.o 40ee: 0f c0 d8 xadd %bl,%al ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/lgammaq.o 602e: 0f c0 e1 xadd %ah,%cl 603e: 0f c0 38 xadd %bh,(%eax) 638e: 0f c0 26 xadd %ah,(%esi) ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/log2q.o e2e: 0f c0 c8 xadd %cl,%al ================================================== ./i586-pc-msdosdjgpp/libquadmath/math/log10q.o fbe: 0f c0 c8 xadd %cl,%al --------------060303080403020808090609--