Ben Jemmett wrote:
> Whenever I start plex86, it loads up to the point bochs makes it give up
> with 'plex86: cannot resolve __fixunsdfdi'. The only reference I can turn
> up by grepping the source tree (which was updated against CVS last night) is
> in pc_system.o (=> the bochs plugin .so). It doesn't show up in the
> pcsystem.{h,cc} or any other include files I can find.
>
> Anybody got any ideas where this symbol should be exported from or
> suggestions on how to get rid of it?
__fixunsdfdi is a gcc internal routine that is used for conversions
from double to unsigned long long. As the ia32 doesn't have an
instruction for this, gcc generates a function call to __fixunsdfdi
instead.
The function is normally taken from libgcc.a, which is statically
linked to every executable or shared library. If this does not
work correctly, something is broken in your compiler setup
(e.g. version mismatch between gcc / cc1 / libgcc, incorrect
specs file etc.)
Try doing the final link step of the .so file in question with
a -v argument; this should show the various version numbers, and
also which copy of libgcc.a is being linked.
Bye,
Ulrich
--
Dr. Ulrich Weigand
[EMAIL PROTECTED]