I have tried to launch application on a device in debug mode and I have
found this :

CreateProcess(4873762a,testDLLexe.exe,2a000000)
CertVerify: \Temp\testDLLexe.exe trust = 2
LoadDLL(4873762a,8bc3e7e0,coredll.dll,03f5b000)
[Cpu] 71 70802731 03F6CE4C 8B8FBB6C 03FE5744
08/28/2008  14:49:03 [D :: KEY] PV_DRIVERGLOBAL->misc.ucEnableTouchPanel=1
KeyUp(ACTION)
08/28/2008  14:49:03 [D :: KEY] KeyToOS(0x0d,2)
[Cpu] 100 70802937 8494AB4C 8B8FBB6C 03FE5744
[Cpu] 100 70803151 03EB2B20 8B8FBB6C 03FE5744
[Cpu] 100 70803363 03FB05E8 8B8FBB6C 03FE5744
[Cpu] 100 70803585 8494A3A4 8B8FBB6C 03FE5744
[Cpu] 100 70803800 03EB2B20 8B8FBB6C 03FE5744
CertVerify: cegcc.dll trust = 2
LoadDLL(ffffffff,8a4c73e0,cegcc.dll,78810000)
Data Abort: Thread=897522c8 Proc=84b98080 ''
AKY=00120011 PC=8494f630(NK.EXE+0x00027630) RA=00000c3c(???+0x00000c3c)
BVA=78888000 FSR=00000007
EXCEPTION_RECORD(c0000005(EXCEPTION_ACCESS_VIOLATION),0(continuable),0,8494f630,2)
ExceptionInformation:
 0 : 0
 1 : 78888000
=== ThreadInfo 897522C8 ===
Proc = 84b98080
Owner Proc = 84b98080
Stack Base= c20a0000
StartAddr = 8495592c
>>>[Callstack 897522C8]<<<
[1 8496962C]
[2 84969C78]
[3 849419D0]
[4 84933B84]
[5 8492F470]
[6 8494F630]
[7 84954790]
[8 8494F680]
[9 8495566C]
[10 84955A44]
<<<[Callstack]>>>
 R0=8a4c7450  R1=897656ec  R2=84b95f7c  R3=00078000
 R4=8a4c7450  R5=00000000  R6=897656ec  R7=00000002
 R8=78810000  R9=78888000 R10=78888000 R11=c20afd4c
 R12=c20afd5c  SP=c20afc88  Lr=00000c3c PC=8494f630 Psr=6000001f
TerminateProcess(4873762a)
DeleteProcess(4873762a)

So there is an access violation in kernel, unfortunately without map file
it's going to be hard to analyze...
Keep on digging but it's not to be easy if we don't have access to PE
loader source...










On Thu, 28 Aug 2008 10:03:50 +0200, Jérôme Decoodt
<[EMAIL PROTECTED]> wrote:
> Hello,
> 
>> I have attached an bz2 archive with sources you provided and two
>> "makefile", one for cegcc and the other one for Visual 2005.
>> Could you please check we are using same compilation flags.
> 
> Indeed, I was compiling this way :
> 
> /opt/mingw32ce/libexec/gcc/arm-wince-mingw32ce/4.1.0/cc1 -quiet
> -D__COREDLL__ -D__MINGW32__ -D__MINGW32CE__ -D__CEGCC_VERSION__
> -idirafter ../include/w32api -idirafter ../../include/w32api testDLL.c
> -quiet -dumpbase testDLL.c -auxbase testDLL -version -o testDLL.s
> 
>
/opt/mingw32ce/lib/gcc/arm-wince-mingw32ce/4.1.0/../../../../arm-wince-mingw32ce/bin/as
> -o testDLL.o testDLL.s
> 
> /opt/mingw32ce/libexec/gcc/arm-wince-mingw32ce/4.1.0/collect2 --shared
> -Bdynamic -e DllMain -o testDLL.dll testDLL.o -lcoredll
> 
> These commands come from those printed with arm-wince-mingw32ce-gcc -v
> -shared -o testDLL.dll testDLL.c. I just simplified a lot the collect2
> command to use DllMain as entry point to be sure it always return TRUE.
> 
> Furthermore, I'm compiling with mingw32ce instead of cegcc. BTW, I
> tested your binaries and they behave as mine : visuals display "DLL OK"
> while cegccs display "testDLLexe.exe is not a valid Pocket PC
> application" (not because testDLL.dll was larger than 64kB (-O3 reduced
> a lot the code) but because cegcc.dll is 2.6MB).
> 
> Thanks for your help,
>


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to