WineHQ
Bug Tracking Database – Bug 31347

 Bugzilla

 

Last modified: 2013-11-22 12:50:40 UTC  

Windows Performance Toolkit "xperf.exe" tool for Windows on ARM (WoA) needs KERNEL32.dll.ResolveDelayLoadedAPI

Bug 31347 - Windows Performance Toolkit "xperf.exe" tool for Windows on ARM (WoA) needs KERNEL32.dll.ResolveDelayLoadedAPI
Windows Performance Toolkit "xperf.exe" tool for Windows on ARM (WoA) needs K...
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: kernel32
1.5.9
arm Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
http://www.microsoft.com/en-us/downlo...
: download
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2012-07-29 12:58 UTC by Anastasius Focht
Modified: 2013-11-22 12:50 UTC (History)
1 user (show)

See Also:
Regression SHA1:
Fixed by SHA1: b6b9050d58d8baaea843c633f5968be9090214e4
Distribution: ---
Staged patchset:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anastasius Focht 2012-07-29 12:58:45 UTC
Hello,

the "Windows Assessment and Deployment Kit (ADK) for Windows 8 Preview" contains "Windows Performance Toolkit" that has an MSI installer for ARM = more toys to play with ;-)

Probably also present in the x86 and x64 version of the toolkit (targeting Windows 8) but ARM is currently more interesting for me ;-)

--- snip ---
$ pwd
/home/linaro/.wine/drive_c/Windows Kits/8.0/Windows Performance Toolkit

$ wine ./xperf.exe
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
wine: Call from 0x4042c7fc to unimplemented function KERNEL32.dll.ResolveDelayLoadedAPI, aborting
wine: Unimplemented function KERNEL32.dll.ResolveDelayLoadedAPI called at address 0x4042c7fc (thread 0009), starting debugger...
Unhandled exception: unimplemented function KERNEL32.dll.ResolveDelayLoadedAPI called in 32-bit code (0x4042c7fc).
Register dump:
ARM User Mode
 Pc:4042c7fc Sp:40d5fbe8 Lr:4042c7fc Cpsr:600f0010(-ZC-)
 r0:40d5fbf4 r1:430fc4 r2:42ac23 r3:40d5fbf4
 r4:42d6a0 r5:42d8d4  r6:408f4380  r7:40d5fce0 r8:0001
 r9:401268 r10:400a6000 Fp:40d5fc44 Ip:42f570
Stack dump:
0x40d5fbe8:  40d5fc04 40d5fc58 40d5fc04 00000043
0x40d5fbf8:  40d5fbf4 00430fc4 0042ac23 40d5fbf4
0x40d5fc08:  0042d6a0 0042d8d4 408f4380 40d5fce0
0x40d5fc18:  00000001 00401268 400a6000 40d5fc44
0x40d5fc28:  0042f570 40d5fbe8 4042c7fc 4042c7fc
0x40d5fc38:  600f0010 40488298 40d5fcac 403f4910
Backtrace:
=>0 0x4042c7fc RtlRaiseException+0x1c(rec=0x40d5fc58) [/home/linaro/projects/wine/wine-git/dlls/ntdll/signal_arm.c:929] in ntdll (0x40d5fc44)
  1 0x4042c7fc RtlRaiseException+0x1b(rec=0x42fc44) [/home/linaro/projects/wine/wine-git/dlls/ntdll/signal_arm.c:928] in ntdll (0x40d5fcac)
  2 0x403f4910 stub_entry_point+0x5f(dll=0x0(nil), name=*** invalid address 0x1 ***, ret_addr=0x80000100) [/home/linaro/projects/wine/wine-git/dlls/ntdll/loader.c:197] in ntdll (0x40d5fcb8)
  3 0x0042ac23 in xperf (+0x2ac22) (0x00000000)
  4 0x40d5fdb8 (0x00000000)
0x4042c7fc RtlRaiseException+0x1c [/home/linaro/projects/wine/wine-git/dlls/ntdll/signal_arm.c:929] in ntdll: 
	ldr	r3, [fp, #-16]
929	    rec->ExceptionAddress = (LPVOID)context.Pc;
Modules:
Module	Address			Debug info	Name (62 modules)
ELF	    8000-   12000	Deferred        <wine-loader>
PE	  400000-  45e000	Export          xperf
PE	10000000-10046000	Deferred        perfctrl
...
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Windows Kits\8.0\Windows Performance Toolkit\xperf.exe
	00000009    0 <==
...
System information:
    Wine build: wine-1.5.9-267-g8f108a0
    Platform: arm
    Host system: Linux
    Host version: 3.2.0
--- snip ---

The API is documented in MSDN: http://msdn.microsoft.com/en-us/library/hh829881%28v=vs.85%29.aspx (probably part of Windows 8).

There is no documentation that tells which part of win32 API is actually implemented/available for Windows on ARM.

The more installers/PE binaries for ARM one can find the better we know.
If you know of any ARM apps for download, targeting WoA - bring it on, I'd be happy to have a look at ;-)

Regards
Comment 1 André Z. 2012-09-17 16:09:33 UTC
You again forgot to CC me :)
Still i don't think it'll be on me to fix it, it's generic across platforms i guess.
Comment 2 André Z. 2013-06-05 14:31:17 UTC
http://source.winehq.org/patches/data/96704
Comment 3 André Z. 2013-08-20 17:07:29 UTC
I'm actually working on a good test case for that function and i can't get the function to do/return something usefull...
The msdn article is totaly bad, especially the part with the callbacks and the description what the function does, i guess the other paramters might also be wrong...
Comment 4 André Z. 2013-11-12 14:37:58 UTC
Fixed by http://source.winehq.org/git/wine.git/commitdiff/b6b9050d58d8baaea843c633f5968be9090214e4

Please retest anyway
Comment 5 Anastasius Focht 2013-11-12 18:01:47 UTC
Hello André,

thanks, it runs now.

--- snip ---
$ pwd
/home/linaro/.wine/drive_c/Windows Kits/8.0/Windows Performance Toolkit

$ ./xperf.exe
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:module:LdrResolveDelayLoadedAPI (0x400000, 0x42cb94, (nil), 0x42ac35, 0x42d37c, 0x00000000), partial stub

    Microsoft (R) Windows (R) Performance Analyzer Version 6.2.8400
    Performance Analyzer Command Line
    Copyright (c) 2012 Microsoft Corporation. All rights reserved.

    Usage: xperf options ... 

	xperf -help view             for xperfview, the graphical user interface
	xperf -help start            for logger start options
	xperf -help providers        for known tracing flags
	xperf -help stackwalk        for stack walking options
	xperf -help stop             for logger stop options
	xperf -help merge            for merge multiple trace files
	xperf -help processing       for trace processing options
	xperf -help symbols          for symbol decoding configuration
	xperf -help query            for query options
	xperf -help mark             for mark and mark-flush
	xperf -help format           for time and timespan formats on the command line
	xperf -help profiles         for profile options
fixme:module:LdrResolveDelayLoadedAPI (0x400000, 0x42cb94, (nil), 0x42ac35, 0x42d380, 0x00000000), partial stub
--- snip ---

Regards
Comment 6 Alexandre Julliard 2013-11-22 12:50:40 UTC
Closing bugs fixed in 1.7.7.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers