X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo Newsgroups: comp.os.msdos.djgpp Subject: Re: djgpp on 386 Date: Mon, 9 Feb 2009 21:15:10 -0800 (PST) Organization: http://groups.google.com Lines: 65 Message-ID: <89823734-86ca-4c73-b8d8-9e08f564223c@m40g2000yqh.googlegroups.com> References: <598659 DOT 78008 DOT qm AT web31913 DOT mail DOT mud DOT yahoo DOT com> NNTP-Posting-Host: 68.220.162.39 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1234242911 17463 127.0.0.1 (10 Feb 2009 05:15:11 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Tue, 10 Feb 2009 05:15:11 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: m40g2000yqh.googlegroups.com; posting-host=68.220.162.39; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6,gzip(gfe),gzip(gfe) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, On Feb 6, 5:37=A0am, Levent Yavas wrote: > > Rugxulo thank you very much for your detailed > explanations and djgpp package. > I'm not tried your djgpp version, but I'll definitely > try it. I *just now* compiled GCC 2.7.2.3 from stock GNU srcs (via GCC 2.95.3) for "-O2 -march=3Di386" if you prefer that. (It runs faster than 2.95.3 and is smaller although obviously not as advanced. Apparently DJGPP never had a stock compile except of 2.7.2.1, without Win2k fixes) You can install the DJGPP203.7Z file and "bin\rm @manifest/gcc2953b.mft" and then "unzip GCC2723B.ZIP" on top of it. GCC 3.4.4 (compiled by me specifically for -march=3Dpentium") runs at least four times slower on my P166 (at least compiling TDE 5.1v). I don't know why, Haifa scheduler? As Eli mentioned, "2.7.2" has some advantages (assuming it likes your code). http://gcc.gnu.org/releases.html GCC 2.7.2.3 August 22, 1997 GCC 2.8.1 March 2, 1998 GCC 2.95.3 March 16, 2001 http://rugxulo.googlepages.com/gcc2723b.zip (600k, no Info docs) http://rugxulo.googlepages.com/gcc2723s.tbz (5.3 MB, stock srcs from GNU ftp) Actually, I earlier compiled 2.7.2.1 on my P166 yesterday (and even applied the newer patches) using Martin Stromberg's old GCC2721S.ZIP (which is all truncated to 8.3, which is what gave me the idea to try in bare DOS *without* LFNs). It can even compile itself. (I wonder if 386/486 optimizations regressed since then but haven't tested. Some people also claim .EXE size has gone up ever since, which is actually fairly true.) In particular, the annoying part there is needing a bunch of separate utils that my mini EZGCC-ish package doesn't have (bash, mv, cp, sed, update, djecho copied to echo, touch). Also, the whole "make LANGUAGES=3Dc" doesn't work and goes ahead trying to build CC1OBJ.EXE anyways (which wastes space on an already low-space HDD due to both CC1OBJ and CC1OBJ.EXE being made, etc). Building "make stage1" etc. doesn't work by default, probably 'cause I'm missing some other tools. I found it easier to just setup the "new" compiler manually and then rebuild. (2.7.2.1 can reputedly even build 2.95.3.) And the default CFLAGS used -g (debug info), which I find unnecessary (for me, I don't want to debug it, only build!) and that wastes space too. UPX helps. I should've either used my FreeDOS FAT16 partition (4k clusters) instead of my DR-DOS partition (16k clusters, ugh) and/or used "diet -D *.c" (compress) plus "diet -Z2" (load TSR to decompress if necessary). Anyways, I know you (Levent) probably won't build it yourself, just mentioning it anyways. ;-) P.S. There's an old libc5 Linux build of DJGPP cross tools (GCC 2.7.2, BinUtils 2.7) with DJDEV 2.00 (although I assume 2.03p2 would work too) below (maybe good for anybody still using BasicLinux or Slackware 4.0 on old hardware or similar). IIRC, Quake used something like that (2.7.2.1 or similar) with some hand-written assembly tuned for Intel Pentium FPU. I forget where they cross-compiled from, probably was NeXT or whatever (not Linux). Of course, they used *nix-y sbrk() which was default in 2.00 beta (right?? I know DJ and CWS have answered this before, search the archives if you're interested). http://www.ibiblio.org/pub/linux/devel/msdos/