http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47438
Summary: function arguments memory alignment problem. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: critical Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: dbms...@hanmail.net parameter memory aligment problem in 64 bit gcc compiler. example ) int Test1(tranNo, name, path, sSpId, spId, spPg, type, size, parm) long tranNo; char* name, *path; short sSpid, spId, spPg, type; long size; char* parm; { printf("----------- size : %ld\n", size); } int Test2(tranNo, name, path, sSpId, spId, spPg, size, type, parm) long tranNo; char* name, *path; short sSpid, spId, spPg; long size; short type; char* parm; { printf("----------- size : %ld\n", size); } main() { int xx = 7974288; Test1(xx); Test2(xx); } compiler option gcc -O -m64 test.c Above program u can see the different result output . i think that some of passing parament causes memory alignment problem.. I like to know which version can solve that problem ? please answer me asap ..