Salut,
Je suis stagiaire et en ce moment je développe sur un macintel
Je travaille sur la migration d'une application au début compilée sous Code Warrior vers Xcode en universal. La version powerpc marche correctement, cependant j'ai des problèmes avec la version intel. Mon tuteur et moi ne voyons pas pourquoi ça ne marche pas bien ....
Voila les données des problèmes :
J'ai du code asm qui appelle des fonctions sur des objets et par moment lors de lappel des fonction, je me retrouve dans dyld_stub_binding_helper_interface (alors que toutes les lirairies sont des librairies statiques, donc pas besoin de dyld normalement, enfin bon) et je crash plus tard dans cette fonction.
Jai pensé aux fonctions Templates et inlinées, jen ai modifiées certaines voir si ça venait de ça mais il ny a hélas pas de changement ...
Les options testées pour résoudre ce problème sont inline function hidden, generate-positiondependent-code
Exemple de fonction :
Float InvMagnitude(Vector &v)
{
return 1.0f/Magnitude(v);
}
void vector ::normalize()
{
float n = InvMagnitude(*this)
x*=n; y*=n; z*=n;
}
Quand jarrive dans normalize mon this est bon (a priori, mes valeurs x,y,z sont bonnes) et au moment de lappel a InvMagnitude cest la que ça pose problème.
Lorsque que cela marche le dyld_stub_interface_helper menvoie rapidement sur ma fonction en faisant un jump, et quand ça marche pas il menvoie dans dyld_fast_stub_interface_helper crach plus tard lors daccès à un registre sse.
Dailleurs pourquoi en debug(-g,-o0) ce coquin me compile mes fonction en SSE(2 ?).
Nota jai aussi ce problème avec es fonction « simple » par exemple une fonction int Max(int a, int b) marche alors que sont homologue float Max(float a, float b), ne marche pas.
Est-ce que quelqu'un a déjà eu à faire a ce genre de problème ?
Ou avez vous des liens sur quelques documents d'intéressant ? Je n'ai rien trouvé sur developer.apple.com, et pas grand-chose dans le web (je suis peut être mauvais)
Merci et a plus
Je suis stagiaire et en ce moment je développe sur un macintel
Je travaille sur la migration d'une application au début compilée sous Code Warrior vers Xcode en universal. La version powerpc marche correctement, cependant j'ai des problèmes avec la version intel. Mon tuteur et moi ne voyons pas pourquoi ça ne marche pas bien ....
Voila les données des problèmes :
J'ai du code asm qui appelle des fonctions sur des objets et par moment lors de lappel des fonction, je me retrouve dans dyld_stub_binding_helper_interface (alors que toutes les lirairies sont des librairies statiques, donc pas besoin de dyld normalement, enfin bon) et je crash plus tard dans cette fonction.
Jai pensé aux fonctions Templates et inlinées, jen ai modifiées certaines voir si ça venait de ça mais il ny a hélas pas de changement ...
Les options testées pour résoudre ce problème sont inline function hidden, generate-positiondependent-code
Exemple de fonction :
Float InvMagnitude(Vector &v)
{
return 1.0f/Magnitude(v);
}
void vector ::normalize()
{
float n = InvMagnitude(*this)
x*=n; y*=n; z*=n;
}
Quand jarrive dans normalize mon this est bon (a priori, mes valeurs x,y,z sont bonnes) et au moment de lappel a InvMagnitude cest la que ça pose problème.
Lorsque que cela marche le dyld_stub_interface_helper menvoie rapidement sur ma fonction en faisant un jump, et quand ça marche pas il menvoie dans dyld_fast_stub_interface_helper crach plus tard lors daccès à un registre sse.
Dailleurs pourquoi en debug(-g,-o0) ce coquin me compile mes fonction en SSE(2 ?).
Nota jai aussi ce problème avec es fonction « simple » par exemple une fonction int Max(int a, int b) marche alors que sont homologue float Max(float a, float b), ne marche pas.
Est-ce que quelqu'un a déjà eu à faire a ce genre de problème ?
Ou avez vous des liens sur quelques documents d'intéressant ? Je n'ai rien trouvé sur developer.apple.com, et pas grand-chose dans le web (je suis peut être mauvais)
Merci et a plus