Hello,

I have some winCE apps they would like to run on Android. Since WINE for Android will not be out for several months I thought I would investigate how to get applications running under the winece that is currently available. I successfully installed it on a pandaboard and the demo applications that come with the install work (e.g. clock.exe). I downloaded what I thought was a typical application that did not have any additional dlls (putty.exe) but it immediately returns with:

wine: Invalid address

I am a fairly competent c programmer but I was hoping I could get some pointers on where to get started since there is a lot of codebase to wade through.

If you think it cannot be done by a newbie please don't hesitate to say so :)

Thanks!

= Mark
-----------------------

Here is the results from windump putty.exe

File Header
  Machine:                      01C0 (ARM)
  Number of Sections:           5
  TimeDateStamp:                45E5F329 (Wed Feb 28 15:24:57 2007) offset 216
  PointerToSymbolTable:         00000000
  NumberOfSymbols:              00000000
  SizeOfOptionalHeader:         00E0
  Characteristics:              010F
    RELOCS_STRIPPED
    EXECUTABLE_IMAGE
    LINE_NUMS_STRIPPED
    LOCAL_SYMS_STRIPPED
    32BIT_MACHINE

Optional Header (32bit)
  Magic                              0x10B          267
  linker version                     6.24
  size of code                       0x53c00        343040
  size of initialized data           0x1f200        127488
  size of uninitialized data         0x0            0
  entrypoint RVA                     0x5499c        346524
  base of code                       0x1000         4096
  base of data                       0x55000        348160
  image base                         0x10000        65536
  section align                      0x1000         4096
  file align                         0x200          512
  required OS version                4.00
  image version                      0.00
  subsystem version                  4.20
  Win32 Version                      0x0            0
  size of image                      0x75000        479232
  size of headers                    0x400          1024
  checksum                           0x0            0
  Subsystem                          0x9 (Windows CE GUI)
  DLL characteristics:               0x0
  stack reserve size                 0x10000        65536
  stack commit size                  0x1000         4096
  heap reserve size                  0x100000       1048576
  heap commit size                   0x1000         4096
  loader flags                       0x0            0
  RVAs & sizes                       0x10           16

Data Directory
  EXPORT       rva: 0x0         size: 0x0      
  IMPORT       rva: 0x62258     size: 0x28     
  RESOURCE     rva: 0x73000     size: 0x1f4c   
  EXCEPTION    rva: 0x71000     size: 0x1e90   
  SECURITY     rva: 0x0         size: 0x0      
  BASERELOC    rva: 0x0         size: 0x0      
  DEBUG        rva: 0x0         size: 0x0      
  ARCHITECTURE rva: 0x0         size: 0x0      
  GLOBALPTR    rva: 0x0         size: 0x0      
  TLS          rva: 0x0         size: 0x0      
  LOAD_CONFIG  rva: 0x0         size: 0x0      
  Bound IAT    rva: 0x0         size: 0x0      
  IAT          rva: 0x63000     size: 0x368    
  Delay IAT    rva: 0x0         size: 0x0      
  CLR Header   rva: 0x0         size: 0x0      
               rva: 0x0         size: 0x0      
-----------------

Here is the last several lines from setting WINDEDEBUG=+all
0030: open_key( parent=0010, access=000f003f, attributes=00000000, name=L"Software\\Wine\\DllOverrides" )
0030: open_key() = OBJECT_NAME_NOT_FOUND { hkey=0000 }
0030: close_handle( handle=0010 )
0030: close_handle() = 0
0030: get_handle_fd( handle=000c )
0030: *fd* 000c -> 21
0030: get_handle_fd() = 0 { type=1, cacheable=1, access=00120089, options=00000000 }
0030: create_mapping( access=000f0005, attributes=00000000, protect=00000145, size=00000000, file_handle=000c, objattr={rootdir=0000,sd={},name=L""} )
0030: create_mapping() = 0 { handle=0010 }
0030: get_mapping_info( handle=0010, access=00000004 )
0030: get_mapping_info() = 0 { size=00075000, protect=325, header_size=1024, base=00010000, mapping=0014, shared_file=0000 }
0030: get_handle_fd( handle=0010 )
0030: *fd* 0010 -> 22
0030: get_handle_fd() = 0 { type=1, cacheable=1, access=000f0005, options=00000020 }
0030: close_handle( handle=0014 )
0030: close_handle() = 0
0030: close_handle( handle=0010 )
0030: close_handle() = 0
0030: close_handle( handle=000c )
0030: close_handle() = 0
0030: terminate_process( handle=0000, exit_code=487 )
0030: terminate_process() = 0 { self=1 }
0030: terminate_process( handle=ffffffff, exit_code=487 )
0030: terminate_process() = 0 { self=1 }
0030: *killed* exit_code=487
002f: *process killed*