http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47438
--- Comment #4 from doh-hyun koh <dbms007 at hanmail dot net> 2011-01-25 11:28:51 UTC --- #include <stdio.h> 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 Would u please try again ?