Hello, I came with a SIGBUS error when importing a C++ code from X86 to ARM. Below is the code snippet where problem occurs, and appreciate your suggestions. Code: class clsMatrix { protected: double *pM; int m; int n; BOOL m_bAutoDelete; //m_bAutoDeletenewbAutoDeleteTRUEbAutoDeleteFALSE public: clsMatrix(); clsMatrix(int m, int n, double *p = NULL, BOOL bAssign = FALSE); ~clsMatrix(); void Reset(); void Reset(int i, int j, double *p = NULL, BOOL bAssign = FALSE); // Attributes int GetM() { return m; } int GetN() { return n; } double *GetP() { return pM; } BOOL EqualSize(clsMatrix &M) { return ((m == M.m) && (n == M.n)); } public: // Operators double * operator [] (int i) { return pM+i*n; } clsMatrix & operator = (clsMatrix &M); clsMatrix & operator = (double *p); clsMatrix & operator = (double x); clsMatrix & operator += (clsMatrix &M); clsMatrix & operator += (double *p); clsMatrix & operator -= (clsMatrix &M); clsMatrix & operator -= (double *p); clsMatrix & operator *= (clsMatrix &mtrx); // clsMatrix & operator *= (double *p); clsMatrix & operator *= (double a); clsMatrix & operator /= (double a); static void X(clsMatrix &mtrx1, clsMatrix &mtrx2, clsMatrix &mtrx); //multiple static void X(clsMatrix &mtrx1, clsVector &vctr2, clsVector &vctr); static void X(clsVector &vctr1, clsMatrix &mtrx2, clsVector &vctr); static void T(clsMatrix &mtrx1, clsMatrix &mtrx); //transpose static void R(clsMatrix &mtrx1, clsMatrix &mtrx); //inverse static void S(clsMatrix &mtrx1, int m0, int m1, int n0, int n1, clsMatrix &mtrx, int m = 0, int n = 0); static void S(clsVector &vctr1, int m0, int m1, clsVector &vctr, int m = 0); double e(); double e2(); double ei(); public: BOOL LoadT(char *pszFile); BOOL SaveT(char *pszFile); friend class clsVector; }; clsMatrix::clsMatrix() { m = n = 0; pM = NULL; m_bAutoDelete = FALSE; } the problem happens in the clsMatrix constructor, whenever a clsMatrix object is declared, the SIGBUS error occurs, unless the contructor is empty with all statements being commented out. Regards, Eric