ReSID cpu/arch configure problem
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
I've got a problem with ReSID if I compile VICE 2.3.12 on an Intel Core i7 using MingW32 under Windows 7 64-bit. On the computer I did the compile, VICE runs flawlessly. If I try to start VICE on an Pentium M having ReSID active, the program quits with "An unexpected error occured. Received signal 4 ().", but it works if I change the SID to ReSID-fp or FastSID. Another clue indicating ReSID being the problem could be, that nearly all object files of ReSID are different from the ones of a compile on the Pentium M, whereas many of the object files of ReSID-fp and FastSID are identical. It works the other way around: If I compile VICE on the Pentium M, it works (even with ReSID) on the Core i7.
not sure if that is the problem, but resid is (afaik) the only part in vice that uses SSE stuff - maybe if you compile on 64bit host gcc uses 64bit instructions that simply dont work on 32bit systems.
> not sure if that is the problem but resid is (afaik) the only part in vice that uses SSE stuff
Wrong, but on the right track. reSID-fp is the only thing that uses SSE explicitly and that's only conditionally after cpuid checks. The problem is defaulting to -march=native which triggers a bunch of CPU specific optimizations, notably affecting reSID. Use "./configure --enable-arch=no" to disable or try something like "--enable-arch=pentium3" for a common base.
As a sidenote, this is not a win32-only problem. See the Debian bug tracker for a giggle. I suppose "use Gentoo" is not an acceptable workaround.
that sounds reasonable - so the autocrap magic needs some fixing i guess =) -> assigning to blacky then
Changed the default of --enable-arch to be 'no' in rev 26058.