About the WM6.1 issue, in the case newer gcc\binutils doesn't solve the issue I am following another track. Actually the problem with WM6.1 comes from a modification done in the kernel(nk.exe) and especially in the loader. What you need to know is the fact Microsoft give access to Windows CE sources through its platform builder software and so we can have loader source code. Unfortunately we don't have access to Windows Mobile sources and only manufacturer can, so I need to disassemble a WM6.1 nk.exe and compare with assembly and source code from WinCE 5.0.
My problem is very simple, I am spending too much time on this task and preventing my girld friend to make some shopping (I am kidding but it's almost true) ;-) So if you have time I would need some help, what I need is very simple : I have two text files one called nk-HTC-SHADOW2-WM61.map with the following format : Address Publics by Value Rva+Base Lib:Object 0001:0000001c cinfAPISet 0001101c nk:objdisp.obj 0001:00000030 APISetMethods 00011030 nk:objdisp.obj 0001:00000048 cbMDStkAlign 00011048 nk:mdarm.obj 0001:0000004c NKCpuType 0001104c nk:mdarm.obj 0001:00000054 IdStrings 00011054 nk:mdarm.obj 0001:00000080 NKSignon 00011080 nk:mdarm.obj ... 0001:00023a8c IsLoadingInExclusiveVA 00034a8c f nk:loader.obj 0001:00023b50 InitStackSlotSetting 00034b50 f nk:loader.obj 0001:00023bdc IsStackSlotSet 00034bdc f nk:loader.obj 0001:00023d38 FreeProcModList 00034d38 f nk:loader.obj and another one nk-HTC-SHADOW2-WM61.asm with the assembly 8492901C: 53495041 movtpl r5, #0x9041 84929020: 00050602 andeq r0, r5, r2, lsl #12 84929024: 84929030 ldrhi r9, [r2], #0x30 84929028: 00000000 andeq r0, r0, r0 8492902C: 00000000 andeq r0, r0, r0 ... 84937B80: 0A000007 beq 84937BA4 84937B84: E31004FE tst r0, #0xFE, 8 84937B88: 03A03010 moveq r3, #0x10 84937B8C: 02433DDE subeq r3, r3, #0xDE, 26 84937B90: 05933000 ldreq r3, [r3] 84937B94: 0593300C ldreq r3, [r3, #0xC] 84937B98: 01833000 orreq r3, r3, r0 84937B9C: 058D3010 streq r3, [sp, #0x10] 84937BA0: 0A000000 beq 84937BA8 84937BA4: E58D0010 str r0, [sp, #0x10] 84937BA8: E59F3040 ldr r3, [pc, #0x40] 84937BAC: E3A06C01 mov r6, #1, 24 ... I would need a script(perl, python, ruby, sh,..) or a program that maps address in ASM with its corresponding name found in .map. It would be called like that : mapasm nk-HTC-SHADOW2-WM61.asm nk-HTC-SHADOW2-WM61.map and it would produce a file with the functions name before assembly : cinfAPISet: 8492901C: 53495041 movtpl r5, #0x9041 84929020: 00050602 andeq r0, r5, r2, lsl #12 84929024: 84929030 ldrhi r9, [r2], #0x30 84929028: 00000000 andeq r0, r0, r0 8492902C: 00000000 andeq r0, r0, r0 ... XXX: To do so, the important value in nk-HTC-SHADOW2-WM61.map are the 2nd(publics By value) and 3d column(Rva+Base) : Address Publics by Value Rva+Base Lib:Object 0001:0000001c cinfAPISet 0001101c nk:objdisp.obj 0001:00000030 APISetMethods 00011030 nk:objdisp.obj It means that cinfAPISet starts at virtual address 0001101c and symbol APISetMethods starts 00011030-0001101c = 0x14 after cinfAPISet. if we apply this to our asm we know that 0001101c corresponds to 8492901C, so we can find the following symbol address 8492901C+0x14 = 84929030: cinfAPISet: 8492901C: 53495041 movtpl r5, #0x9041 ... APISetMethods: 84929030: ... You will find everything here : http://www.smartmobili.com/Downloads/cegcc-bug-wm61.zip Thanks ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel