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

Re: [MiNT] gcc / m68k + 68030 + fpu



On 29 June 2013 23:53, Douglas Little <doug694@googlemail.com> wrote:
Here's another curious case I encountered with BM today. I tried to
remove all the FPU code from the project and this was done quite
easily. However when I disable the FPU in Hatari and run the game, it
terminates with this error:

"This program requires a 68881 or higher
arithmetic coprocessor and cannot be run
on this machine."

This is a bit strange, because the project was built without the
-m68881 flag (I used -m68030 -msoft-float) and I removed the libm
reference after taking out the code which relied on it.

68030 without FPU is not supported by my GCC 4.x distribution.

The only supported multilibs are:
-m68000 (the default): 68000 without FPU
-m68020-60: 68020/68030/68040/68060 *with* FPU
-mcpu=5475: ColdFire V4e with FPU

This means that all the shipped libraries (including the MiNTLib) support only the above variants (libgcc and libgem also support -mshort variants).

When you use -m68030 -msoft-float, your own code will not use the FPU, but it will be linked with the -m68020-60 MiNTLib. This is why your executable fails to run if you don't have an FPU.

--
Vincent Rivière