[aquaria] Aquaria port for OS4 PPC
Andrea Palmatè
andrea at amigasoft.net
Wed Jun 9 11:00:42 EDT 2010
Hi,
i'm trying to port for AmigaOS4 that is a PPC platform
I've compiled the exe and as data files i'm using that one included in
the linux .run distribution (i've installed it on an ubuntu platform and
i've copied them on my OS4 machine)
First problem. If i use the optimizations enabled like -O2 or -O3 with
gcc4.2.4 or gcc 4.4.3 i have a DSI into Core.cpp file in the Core function:
Core::Core(const std::string &filesystem, int numRenderLayers, const
std::string &appName, int particleSize, std::string userDataSubFolder)
it seems like g++ doesn't trash the variables userDataSubFolder and
userDataFolder (this one only with gcc 4.4.3).
If i put two initializations like
userDataFolder = "";
userDataSubFolder = appName;
i have no more crash. This happens also if i remove -O2 or -O3 optimizations
The second problem and this is a blocking state for me is that i receive
another DSI in this function:
SkeletalSprite *getSkeletalSprite(Entity *e)
{
Avatar *a;
ScriptedEntity *se;
SkeletalSprite *skel = 0;
if (a=dynamic_cast<Avatar*>(e)) //<---------- THIS LINE
GENERATE A DSI
{
This is the stacktrace
Instruction pointer 0x6F4BBD2C belongs to module "libstdc++.so" (PowerPC)
Symbol:
_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE
+ 0x140 in section 10 offset 0x00076D2C
Stack trace:
libstdc++.so:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE()+0x140
(section 10 @ 0x76d2c)
libstdc++.so:__dynamic_cast()+0x84 (section 10 @ 0x771b4)
aquaria.os4:_Z17getSkeletalSpriteP6Entity()+0x50 (section 8 @ 0x2d8f34)
aquaria.os4:_Z16l_entity_animateP9lua_State()+0x124 (section 8 @
0x2d93e8)
aquaria.os4:luaD_precall()+0x53C (section 8 @ 0x36b7dc)
aquaria.os4:luaV_execute()+0x1980 (section 8 @ 0x37979c)
aquaria.os4:luaD_call()+0xD8 (section 8 @ 0x36bc10)
aquaria.os4:f_call()+0x4C (section 8 @ 0x36696c)
aquaria.os4:luaD_rawrunprotected()+0x74 (section 8 @ 0x36a5e8)
aquaria.os4:luaD_pcall()+0x9C (section 8 @ 0x36c218)
aquaria.os4:lua_pcall()+0xC8 (section 8 @ 0x366a4c)
aquaria.os4:_ZN14ScriptedEntity12onEnterStateEi()+0x178 (section 8
@ 0x2c2dc8)
aquaria.os4:_ZN12StateMachine7performEifPv()+0x12C (section 8 @
0x47a668)
aquaria.os4:_ZN12StateMachine8onUpdateEf()+0x188 (section 8 @ 0x47aa5c)
aquaria.os4:_ZN6Entity6updateEf()+0x640 (section 8 @ 0x17ca64)
aquaria.os4:_ZN4Core19updateRenderObjectsEd()+0x104 (section 8 @
0x3e196c)
aquaria.os4:_ZN4Core4mainEf()+0x1234 (section 8 @ 0x3e3274)
aquaria.os4:main()+0x22C (section 8 @ 0x26077c)
Just the last question. Is aquaria working on Linux PPC? Or the usual
endianess routime must be written for something?
I've seen with an utility that the data files (the png one) are read
correctly
Any tips?
--
*Andrea Palmatè*
http://www.amigasoft.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/aquaria/attachments/20100609/f6be3342/attachment.htm>
More information about the aquaria
mailing list