[Scummvm-devel] Cross-Compiling issues

John Willis John.Willis at Distant-earth.com
Sat May 7 18:43:46 CEST 2011


Hi Klaus,

> And it just happened again... Just after writing this long mail I found it
> myself. Must be the psychiatrist effect. Talking about the problem always
> helps ;-)
> 
> There is a PLUGIN_LDFLAGS in the configure script which is configured
> separately. I used the same "linux*" configuration for "webos" and a non-
> cross-compiled linux only needs "-shared" here. I'm going to split this
> section so WebOS has it's own one and then use "-shared $LDFLAGS".
> Doing it like this gets rid of all these ABI and GCC version problems.
> 
> Now it still fails with a new error message I have to investigate:
> undefined symbol: __bswapsi2
> Have to google this one first. But just in case someone already has an
idea
> how to fix this, please let me know.

__bswapsi2 is in libgcc.so, the byte-reversal code it's also slow as
molasses on ARM (I think GCC 4.5 or 4.6 has ARM ASM implementations).
Anyway, that is all an aside, what is seems to allude to is that you have
some missing shared linking foo. Getting this right for a setup such as
WebOS (with its roots as an OpenEmbedded fork) and a single toolchain is a
bit of fun. 

One hacky option may be to bundle that later libgcc.so (and maybe more) and
ship it with the binary. You can LD_LIBRARY_PATH it before you spin up
ScummVM. I did mention it was hacky ;-). I used this on the original GP2X
builds to get over hurdles of an ancient userspace and recent compiler/libC
combo while still getting dynamic 'Linux style' plugins going. Using the
generic ELF loader when you're in a Linux userspace is just so much pain ;).

It may also be waiting to see if Andre or Gus has any ideas as I suspect
this sort of issue my crop up on Android with the fragmentation in older
version toolsets.

Cheers,

John






More information about the Scummvm-devel mailing list