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*