Hi all , we are using gcc 4.4.1 and build cross tool chain with binutils 2.19.51. I am building 2.6.30 kernel for ARM. It build and run well on my target, but i am seeing some strange char in System.map file . . c0064434 T NvRmPrivDfsDeinit c0064540 t DfsIsr c0064cf8 t T.285 c0064d3c t T.288 c0064f2c T NvRmDfsSetState c0064ff0 t T.289 c0065078 T NvRmPrivDfsInit c006607c t T.291 <<<Example c00661c8 T NvRmPrivDvsInit I found that c0064cf8 t T.285 function are small function which are declared as static void . . . For example : The below static function will not be there if we see assembly code of the obj file. static void DvsChangeCpuVoltage( NvRmDeviceHandle hRm,NvRmDvs* pDvs, NvRmMilliVolts TargetMv) { NV_ASSERT(TargetMv >= pDvs->MinCpuMv); NV_ASSERT(TargetMv <= pDvs->NominalCpuMv); if (pDvs->CurrentCpuMv != TargetMv) { NvRmPmuSetVoltage(hRm, pDvs->CpuRailAddress, TargetMv, NULL); pDvs->CurrentCpuMv = TargetMv; } } instead it will be look like as shown below. 0000205c <T.286>: 205c: e1a0c00d mov ip, sp 2060: e92dd878 push {r3, r4, r5, r6, fp, ip, lr, pc} 2064: e24cb004 sub fp, ip, #4 ; 0x4 2068: e3004000 movw r4, #0 ; 0x0 206c: e301670c movw r6, #5900 ; 0x170c 2070: e3404000 movt r4, #0 ; 0x0 2074: e1a05001 mov r5, r1 2078: e7943006 ldr r3, [r4, r6] 207c: e1530001 cmp r3, r1 2080: 089da878 ldmeq sp, {r3, r4, r5, r6, fp, sp, pc} 2084: e3012708 movw r2, #5896 ; 0x1708 2088: e3a03000 mov r3, #0 ; 0x0 208c: e7941002 ldr r1, [r4, r2] 2090: e1a02005 mov r2, r5 2094: ebfffffe bl 0 <NvRmPmuSetVoltage> 2098: e7845006 str r5, [r4, r6] 209c: e89da878 ldm sp, {r3, r4, r5, r6, fp, sp, pc} If i build kernel with O1 or O0 flag, these strange character disappear. also i check on GCC 4.3.3 there is no problem . Is there some flag to disable these strange characters ? kind regards Naveen