Mail Archives: djgpp/2000/01/18/18:52:20
GAMMELJL AT slu DOT edu wrote:
[...]
> The first problem we dealt with was what appears to us to be
> a change in the compiler (we always use
[...]
Summing up the first three problems: *none* of them is about AMD
vs. Intel CPUs. It's the difference in compiler and assembler versions
that caught you unguarded, here.
The morale: never assume that a new version of the compiler still
accepts the same old tricks as a previous one, if those tricks are not
standardized (i.e. defined by ANSI or POSIX or similar standards for
the C programming language). In the case of C++, don't assume even
that, as there has yet to be any compiler out there that really
supports the new ANSI C++ standard to the letter, to begin with.
> The fourth problem, which we have not overcome, is the fact
> that, after all of the above revisions, on the AMD machine the
> optimization switch -O2 does not work. With the -O2 switch on, the
> source codes compile (on both machines) with no reported errors.
> The executables run faster on the Intel machine by 30%-50%.
> But the executables crash on the AMD machine.
The *same* executables that ran on the older, 'Intel' machine? Or the
same source, compiled and run on the new, 'AMD' machine?
Your terminology is really confusing. You refer to 'Intel' vs. 'AMD'
machines, where there is really a host of other differences between
those two boxes:
Intel CPU <---> AMD CPU
DJGPP 2.01 DJGPP 2.02
gcc-2.8.1 (probably) gcc-2.95.2 (probably)
binutils-2.8.1 binutils-2.9.1 (maybe)
At the moment, you seem to be changing at least 2, maybe four of the
ingredients of the problem at the same time, and observe a difference
in behaviour. You'll *really* have to change them one at a time, to
get a meaningful answer as to which of them is the cause of your
problems.
--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -