Hello,
I am a trainee and in this moment I develop on a macintel
I work on the migration of an application compiled under Code Warrior towards Xcode 2.3 in universal.
For the moment, the powerpc version work correctly, however I have problems with intel version.
My tutor and me don’t see why that does not work on intel ….
This is the problem:
I have asm code which calls functions on objects and sometimes, at the call time the we have a jump into dyld_stub_binding_helper_interface function (although all the lyrairies are linked statically ….)
and I crash latter.
I thought of the Templates functions and inlinées, I modified some of them to see whether the probleme came from that but there is no change…
The options I tested to solve this problem are inline function hidden, generate-position–dependent-code
Example of function:
float InvMagnitude (Vector &v)
{
return 1.0f/Magnitude (v);
}
void vector:: normalize ()
{
float n = InvMagnitude (*this);
x*=n; y*=n; z*=n;
}
When I arrive in normalize my object is good (ie, my value x, y, z are good) and at the call of InvMagnitude my problem arrived.
For other function wich work fine, the dyld_stub_interface_helper sends me quickly on my function by making a jump into , and when it doesn’t work it call dyld_fast_stub_interface_helper and I crash later during an access to a register sse (why in debug (- G, - o0) gcc compiles me my function in SSE (2?) ?)
I have also this problem with are a function a “simple” for example function int max (int a, int b) work whereas his homologous float max (float a, float b), doesn’t.
Did somebody already have a solution about this problem?
Or have links on some interesting documents?
I didn’t find anything on developer.apple.com, and not large-thing in the Web.
Thank you
PS : I‘m French ,and I hope my history is well understood.
I am a trainee and in this moment I develop on a macintel
I work on the migration of an application compiled under Code Warrior towards Xcode 2.3 in universal.
For the moment, the powerpc version work correctly, however I have problems with intel version.
My tutor and me don’t see why that does not work on intel ….
This is the problem:
I have asm code which calls functions on objects and sometimes, at the call time the we have a jump into dyld_stub_binding_helper_interface function (although all the lyrairies are linked statically ….)
and I crash latter.
I thought of the Templates functions and inlinées, I modified some of them to see whether the probleme came from that but there is no change…
The options I tested to solve this problem are inline function hidden, generate-position–dependent-code
Example of function:
float InvMagnitude (Vector &v)
{
return 1.0f/Magnitude (v);
}
void vector:: normalize ()
{
float n = InvMagnitude (*this);
x*=n; y*=n; z*=n;
}
When I arrive in normalize my object is good (ie, my value x, y, z are good) and at the call of InvMagnitude my problem arrived.
For other function wich work fine, the dyld_stub_interface_helper sends me quickly on my function by making a jump into , and when it doesn’t work it call dyld_fast_stub_interface_helper and I crash later during an access to a register sse (why in debug (- G, - o0) gcc compiles me my function in SSE (2?) ?)
I have also this problem with are a function a “simple” for example function int max (int a, int b) work whereas his homologous float max (float a, float b), doesn’t.
Did somebody already have a solution about this problem?
Or have links on some interesting documents?
I didn’t find anything on developer.apple.com, and not large-thing in the Web.
Thank you
PS : I‘m French ,and I hope my history is well understood.