[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] gcc-4.2.2-mint-20080127



MiKRO wrote:
> i think we nearly forgot about the initial problem with this quake --
> you know, there's that problem when you use gcc2-compiled mintlib with
> gcc4-compiled quake.

I compiled Quake again.

1) The floor bug.
It is very visible because, when it is present, Quake fails at startup with "Bad surface extents". I already explained that it is a real bug in the Quake sources. It doesn't seem to be present when Quake is compiled with the native GCC 4.2.2 (with -fomit-frame-pointer bug) RPM provided by Keith. However, it is present when I cross-compile Quake. This bug seems to appear only when Quake is cross-compiled (probably because of some different float approximation between the host and the target).

2) Binary compatibility with MiNTLib built with GCC 2.95.3
I did't use a native compiler, because there is no binary available without the -fomit-frame-pointer bug. And I'm not going to build one. So I built Quake with the latest Cygwin binaries, binutils 2.18 and GCC 4.2.3. I carefully generated the quakedef68k.i file with the native GCC 4.2.2. Then I carefully removed the libc.a in the Cygwin cross environment, and I replaced it by the one present on my EasyMiNT setup (probably compiled with GCC 2.95). I'm sure that one is linked in the final executable because I put a marker in it. I carefully run the executable with the -mem 10 option, because without that, the whole system freezes (due to that untested malloc() returning NULL). Then... Quake works like a charm. Yes, Quake sources, cross compiled with GCC 4.2.3, with -O3 and -m68060, and linked with and old MiNTLib.

So far, everything seems to be good for me.

--
Vincent Rivière