On Sunday 03 September 2006 15:32, Rajib Majumder wrote:
Hi,
After porting a C++ application from SLES9/EM64T architecture to SLES9/AMD64, it fails to work. Apparently, looks like a stack corruption is happening. It works perfect on SLES9/EM64T arch.
Any idea what might have gone wrong?
Env is same on both boxes and gcc used was 3.3.2 to build the application.
Any input is highly appreciated.
It would help if you posted a code snippet that exhibited the problem. Except for extensions like SSE3 and such like, EM64T and AMD64 should be compatible with each other, so unless you're using highly platform specific optimisations, you shouldn't need to do any particular porting
My guess is that you have a bug in your program, that invokes undefined behaviour, and that this happens to behave "correctly" on EM64T but causes a crash on AMD64
Then again, it could be a bug in gcc, but without a code example of the issue it's hard to say I agree 100%. It would be good if you also supplied the compiler
On Sun, 3 Sep 2006 15:46:21 +0200
Anders Johansson