Hi Amruth, I assume that testFunc2 is in testFunc2.c, testFunc is in TestFunc.c, and main is in main.c. And somewhere (either in the C source, or a header) there is a 'extern void testFunc2();' and 'extern void testFunc();' declared. And they are being compiled: gcc -O2 main.c testFunc.c testFunc2.c Is that assumption correct? HTH, --Eljay