It's possible that this scenario hasn't been tested on other ARM devices with Linux.
The functions that are being called are (from add_on/scriptstring):
static CScriptString *AddStringDouble(const CScriptString &str, double f){ char buf[100]; sprintf(buf, "%g", f); return new CScriptString(str.buffer + buf);}static void AddStringDouble_Generic(asIScriptGeneric *gen){ CScriptString *str = (CScriptString*)gen->GetObject(); double f = gen->GetArgDouble(0); CScriptString *out = AddStringDouble(*str, f); gen->SetReturnAddress(out);}static CScriptString *AddDoubleString(double f, const CScriptString &str){ char buf[100]; sprintf(buf, "%g", f); return new CScriptString(buf + str.buffer);}static void AddDoubleString_Generic(asIScriptGeneric *gen){ double f = gen->GetArgDouble(0); CScriptString *str = (CScriptString*)gen->GetObject(); CScriptString *out = AddDoubleString(f, *str); gen->SetReturnAddress(out);}
As you can see the generic function is just a wrapper for the native function.
The problem seems to be with arguments of the type double in as_callfunc_arm.cpp or as_callfunc_arm_GCC.S.