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*