Hi,

I am a bit surprised by your error message because usually on Windows
Mobile, when an application
cannot load a DLL, you get a "Invalid Pocket PC application" and that's
what I have when I try 
on WM6.1.
On what kind of device are you testing ?

As Danny told you the workaround is to declared the dll in registry :

[HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow]
"MyDll.dll"=dword:1  << change DLL name to match

Pedro, Danny, I asked 2 months ago but could it be possible to add in the
FAQ this issue and how to solve it ?

If you want to help us to solve this issue, we would need to be able to
compare the kernel of a WM 6.0 with a WM6.1.
To do that we would need to extract the kernel file nk.exe from a ROM and I
know that some people are doing that kind of stuff on
XDA. More generally I tried to do it but without success, so if someone
else want to try...






On Sat, 4 Oct 2008 14:41:34 +0200, "Pascal Georges"
<[EMAIL PROTECTED]> wrote:
> I don't have any error message except "could not load library", the DLL
is
> loaded via a Tcl script.
> I checked this DLL with dumpbin (eVc++ 4) and the output below does not
> seem
> to use any writable code section :
> 
> Microsoft (R) COFF/PE Dumper Version 6.24.3077
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
> 
> Dump of file tkscid.dll
> 
> PE signature found
> 
> File Type: DLL
> 
> FILE HEADER VALUES
>              1C0 machine (ARM)
>                8 number of sections
>         48E3D86B time date stamp Wed Oct 01 22:07:07 2008
>                0 file pointer to symbol table
>                0 number of symbols
>               E0 size of optional header
>             630E characteristics
>                    Executable
>                    Line numbers stripped
>                    Symbols stripped
>                    32 bit word machine
>                    Debug information stripped
>                    DLL
>                    Uniprocessor Only
> 
> OPTIONAL HEADER VALUES
>              10B magic # (PE32)
>             2.56 linker version
>            7E400 size of code
>            1FC00 size of initialized data
>             F000 size of uninitialized data
>             1008 entry point (00011008)
>             1000 base of code
>            80000 base of data
>            10000 image base (00010000 to 000C1FFF)
>             1000 section alignment
>              200 file alignment
>             4.00 operating system version
>             1.00 image version
>             3.00 subsystem version
>                0 Win32 version
>            B2000 size of image
>              400 size of headers
>            A59DE checksum
>                9 subsystem (Windows CE GUI)
>                0 DLL characteristics
>           200000 size of stack reserve
>             1000 size of stack commit
>           100000 size of heap reserve
>             1000 size of heap commit
>                0 loader flags
>               10 number of directories
>            A3000 [    9BD1] RVA [size] of Export Directory
>            AD000 [     8E0] RVA [size] of Import Directory
>                0 [       0] RVA [size] of Resource Directory
>            93000 [       8] RVA [size] of Exception Directory
>                0 [       0] RVA [size] of Certificates Directory
>            AE000 [    3270] RVA [size] of Base Relocation Directory
>                0 [       0] RVA [size] of Debug Directory
>                0 [       0] RVA [size] of Architecture Directory
>                0 [       0] RVA [size] of Global Pointer Directory
>                0 [       0] RVA [size] of Thread Storage Directory
>                0 [       0] RVA [size] of Load Configuration Directory
>                0 [       0] RVA [size] of Bound Import Directory
>                0 [       0] RVA [size] of Import Address Table Directory
>                0 [       0] RVA [size] of Delay Import Directory
>                0 [       0] RVA [size] of COM Descriptor Directory
>                0 [       0] RVA [size] of Reserved Directory
> 
> 
> SECTION HEADER #1
>    .text name
>    7E2FC virtual size
>     1000 virtual address (00011000 to 0008F2FB)
>    7E400 size of raw data
>      400 file pointer to raw data (00000400 to 0007E7FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> 60000020 flags
>          Code
>          Execute Read
> 
> SECTION HEADER #2
>    .data name
>     1CF4 virtual size
>    80000 virtual address (00090000 to 00091CF3)
>     1E00 size of raw data
>    7E800 file pointer to raw data (0007E800 to 000805FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> C0000040 flags
>          Initialized Data
>          Read Write
> 
> SECTION HEADER #3
>   .rdata name
>    10168 virtual size
>    82000 virtual address (00092000 to 000A2167)
>    10200 size of raw data
>    80600 file pointer to raw data (00080600 to 000907FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> 40000040 flags
>          Initialized Data
>          Read Only
> 
> SECTION HEADER #4
>   .pdata name
>        8 virtual size
>    93000 virtual address (000A3000 to 000A3007)
>      200 size of raw data
>    90800 file pointer to raw data (00090800 to 000909FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> 40000040 flags
>          Initialized Data
>          Read Only
> 
> SECTION HEADER #5
>     .bss name
>     EEB8 virtual size
>    94000 virtual address (000A4000 to 000B2EB7)
>        0 size of raw data
>        0 file pointer to raw data
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> C0000080 flags
>          Uninitialized Data
>          Read Write
> 
> SECTION HEADER #6
>   .edata name
>     9BD1 virtual size
>    A3000 virtual address (000B3000 to 000BCBD0)
>     9C00 size of raw data
>    90A00 file pointer to raw data (00090A00 to 0009A5FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> 40000040 flags
>          Initialized Data
>          Read Only
> 
> SECTION HEADER #7
>   .idata name
>      8E0 virtual size
>    AD000 virtual address (000BD000 to 000BD8DF)
>      A00 size of raw data
>    9A600 file pointer to raw data (0009A600 to 0009AFFF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> C0000040 flags
>          Initialized Data
>          Read Write
> 
> SECTION HEADER #8
>   .reloc name
>     3270 virtual size
>    AE000 virtual address (000BE000 to 000C126F)
>     3400 size of raw data
>    9B000 file pointer to raw data (0009B000 to 0009E3FF)
>        0 file pointer to relocation table
>        0 file pointer to line numbers
>        0 number of relocations
>        0 number of line numbers
> 42000040 flags
>          Initialized Data
>          Discardable
>          Read Only
> 
>   Summary
> 
>         F000 .bss
>         2000 .data
>         A000 .edata
>         1000 .idata
>         1000 .pdata
>        11000 .rdata
>         4000 .reloc
>        7F000 .text
> 
> 2008/10/4 Danny Backx <[EMAIL PROTECTED]>
> 
>> Isn't this what the "xxx is nog a valid Pocket PC application if
>> SizeOfImage > 10000" thread was about ?
>>
>> Please try this out :
>> > you may want to try and restrict your module to Slot 0 by adding the
>> > following registry key:
>> >
>> > [HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow]
>> >     "MyDll.dll"=dword:1  << change DLL name to match
>> >
>> > Please note that using the above key will force your entire module
>> > into Slot 0 and prevent other modules from loading in that slot. The
>> > above registry setting should be used with caution
>>
>>
>> This was taken from
>>
>>
http://blogs.msdn.com/hopperx/archive/2008/09/19/writeable-code-sections-got-you-down-fear-no-more.aspx
>>
>>        Danny
>>
>> On Sat, 2008-10-04 at 08:13 +0200, Pascal Georges wrote:
>> > Hi,
>> >
>> > I have a program that loads a DLL generated with cegcc and it works
>> > well in WM5 and WM6.0.
>> > Although it works also for me with WM6.1, some users report trouble
>> > when upgrading their ROM from WM6.0 to WM6.1.
>> > It is then impossible to load the DLL.
>> >
>> > Are there any known issues with WM6.1 ?
>> >
>> > Pascal Georges
>> >
>> >
-------------------------------------------------------------------------
>> > 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
>> --
>> Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info
>>
>>
>>
> 

-------------------------------------------------------------------------
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