Hi,

On Sun, May 5, 2013 at 10:37 PM, Louis Santillan <lpsan...@gmail.com> wrote:
>
> On Sun, May 5, 2013 at 11:25 AM, Rugxulo <rugx...@gmail.com> wrote:
>>
>> I don't think wcc.exe was ever meant to output 32-bit code. Granted,
>> as mentioned previously, it will do some things ("movsx"), but
>> apparently it doesn't use the extended 32-bit registers.
>
> That's the most disappointing part.   As expensive as Watcom was, I was
> expecting it do this kind of thing, and do it well.

I don't know what you were expecting. x86 is a weird hybrid. Wanting
to have good 16-bit and 32-bit code mixed is not always reasonable nor
easy to do. Or at least not all compilers support it. If all we're
talking about is more speed, you've got to realize that limits will
always exist to what compilers (even good ones) can do.

Honestly, it doesn't matter without any specific things you know of
that need optimizing. Which part is slow or too fat? OpenWatcom does
have profiling support, but I don't think it'd be easy to use it for a
kernel. Probably best to find certain crucial functions and optimize
them than trying to micro-optimize everything as a whole.

BTW, compare Turbo C to OpenWatcom. I'm pretty sure that OpenWatcom is
far superior (at least for building the kernel).

>> Though, again, call me cynical, but outside of just reordering
>> instructions, I don't think this will speed up anything much. Even
>> then it might just be too trivial. (This is a very difficult and
>> arcane skill. It's hard to accuse compilers of being dumb when it's an
>> endless void.) You'll probably get much faster speeds just from using
>> select (386+) software:  UIDE, RDISK, XMGR, HDPMI32, etc.
>
> You're probably right about targeting the tools.

I'm just saying, it's a difficult mess, and sometimes the best changes
are in surrounding tools (or habits or setups).

> I'm excited by GCC 4.8.x coming to DJGPP.  I just have questions I need to
> answer for myself about it's 2.04 beta incompatibilities with 2.03 (like,
> Whats the right way to install 2.04?, What needs to be recompiled for
> 2.04?).

Well, normally you don't want to mix 2.04 and 2.03p2 libs if you don't
have to. Sometimes it won't work correctly, e.g. you can't install
DJGPP 2.03p2 and expect 2.04's Ada or C++ to work correctly, the libc
is using different functions that don't exist elsewhere.

2.03p2 is stable (and has GCC 4.7.3, at least) and preferred by some
but missing some stuff (e.g. snprintf) that you may have to manually
patch in. Technically, the same is true of 2.04, but IMHO 2.04 is a
lot better, just never finalized nor tested as well in all
environments.

What needs to be recompiled? (BTW, obvious caveat: DJGPP can't compile
the FreeDOS kernel. Should be obvious, but I'm mentioning it anyways.)
As is, every official DJGPP program (well, almost) is ported and
recompiled with both 2.03p2 "stable" and 2.04 "beta". So it's a clean
separation, for whatever reason, not always technically necessary but
better safe than sorry. (2.03p2 was tested better back in the day, but
2.04 has some niceties, e.g. better symlink support.) Though yeah, for
good or bad, the Zip Picker only points to 2.03p2.

To install:  depends on what programs you want to run. A bare minimum
C compiler (DJGPP 2.04, GCC 4.80) would be three files (or four if you
want GNU Make, recommended):

http://na.mirror.garr.it/mirrors/djgpp/beta/

djdev* = libc, libm, libemu, most C99 and POSIX 1992/2001 headers
(*.h), some misc. tools
bnu* = (GNU BinUtils) assembler, linker (both needed by backend),
librarian (*.a manipulation), etc.
gcc* = compiler driver (gcc), preprocessor (cpp), compiler proper
(cc1), libgcc.a (optimized built-ins)

/v2/djdev204.zip
30-Nov-2003     20:01             2,211,289
/v2gnu/bnu2232b.zip                                       31-Mar-2013
  21:21             7,519,979
/v2gnu/gcc480b.zip                                         23-Mar-2013
   09:46           12,970,432

/v2gnu/mak381b.zip                                        25-Nov-2007
  01:22                358,148

EDIT: Oops, obviously you need some kind of DPMI server (in pure DOS),
e.g. CWSDPMI or HDPMI32.

http://homer.rice.edu/~sandmann/
http://www.japheth.de/HX.html

../current/v2misc/csdpmi7b.zip                       29-Jan-2010
02:42                  71,339

===============================================
@echo off
REM ... install ...
md \dj
cd \dj
REM ... if you want to later compile stuff with LFNs enabled,
REM     you'll need to enable your LFN driver here before unzipping ...
for %%a in (djdev204 bnu2232b gcc480b) do unzip -q \tmp\%%a
REM ... enable ...
set DJGPP=c:\dj\djgpp.env
path c:\dj\bin;%PATH%
REM ... test ...
for %%p in (dumpmachine dumpversion v) do gcc -%%p
===============================================

> I must of misread BCC 5.5 for 4.5.2.  I used to have 4.5.2 way back
> when.  I'll need to try to find it.

Might be interesting to test, but I wouldn't get my hopes up on it
being better than OpenWatcom, at least not in optimizations. Then
again, even the almighty GCC sucks at older cpus like 486, so who
knows.

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to