[Bug 50622] New: wldap32 calls Linux libraries with wrong conventions
WineHQ Bugzilla
wine-bugs at winehq.org
Fri Feb 5 09:31:51 CST 2021
https://bugs.winehq.org/show_bug.cgi?id=50622
Bug ID: 50622
Summary: wldap32 calls Linux libraries with wrong conventions
Product: Wine
Version: 6.0-rc6
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wldap32
Assignee: wine-bugs at winehq.org
Reporter: gmascellani at codeweavers.com
Distribution: ---
The code generated by dlls/wldap32/ber.c calls liblber with wrong calling
conventions. For example, looking at the object disassembly I see stuff like:
1d5bf: 48 8d 54 24 26 lea 0x26(%rsp),%rdx
1d5c4: 48 89 d9 mov %rbx,%rcx
1d5c7: e8 e4 9c ff ff callq 172b0 <ber_printf at plt>
Clearly it is trying to call the Linux ber_printf with Microsoft calling
conventions (while liblber expects SYSV calling conventions, using RDI, RSI and
such). This causes adsldp tests to fail on my computer, in a 64-only Wine
build:
../../../../libraries/liblber/encode.c:513: ber_printf: asserzione "LBER_VALID(
ber )" non riuscita.
wine: Assertion failed at address 00007FAF632F8CE1 (thread 0024), starting
debugger...
185335.931000:00f8:00fc:trace:gio:dlls/ntdll/unix/loader.c:1463:dump_argv
Starting command winedbg --auto 32 132
Unhandled exception: assertion failed in 64-bit code (0x00007faf632f8ce1).
Register dump:
rip:00007faf632f8ce1 rsp:000000000031f630 rbp:00007faf605dd5e1 eflags:00000246
( - -- I Z- -P- )
rax:0000000000000000 rbx:00007faf632ba740 rcx:00007faf632f8ce1
rdx:0000000000000000
rsi:000000000031f630 rdi:0000000000000002 r8:0000000000000000
r9:000000000031f630 r10:0000000000000008
r11:0000000000000246 r12:00007faf609614f8 r13:0000000000000201
r14:00007faf60961033 r15:000000007d9dc330
Stack dump:
0x000000000031f630: 0000000000000000 00007faf6333a6c6
0x000000000031f640: 01000000fbad8000 000000007dad2f10
0x000000000031f650: 000000007dad2f75 000000007dad2f10
0x000000000031f660: 000000007dad2f10 000000007dad2f75
0x000000000031f670: 000000007dad303c 000000007dad2f10
0x000000000031f680: 000000007dad303c 0000000000000000
0x000000000031f690: 0000000000000000 0000000000000000
0x000000000031f6a0: 0000000000000000 0000000000000000
0x000000000031f6b0: fffffffe7fffffff ffffffffffffffff
0x000000000031f6c0: ffffffffffffffff ffffffffffffffff
0x000000000031f6d0: ffffffffffffffff ffffffffffffffff
0x000000000031f6e0: ffffffffffffffff ffffffffffffffff
Backtrace:
=>0 0x00007faf632f8ce1 execlp+0xffffffffffffffff() in libc.so.6
(0x00007faf605dd5e1)
1 0x00007faf632e2537 execlp+0xffffffffffffffff() in libc.so.6
(0x00007faf605dd5e1)
2 0x00007faf632e240f execlp+0xffffffffffffffff() in libc.so.6
(0x00007faf605dd5e1)
3 0x00007faf632f1662 execlp+0xffffffffffffffff() in libc.so.6
(0x00007faf60961033)
4 0x00007faf6095c60a ber_write+0xffffffffffffffff() in liblber-2.4.so.2
(0x00007faf60a5e75e)
5 0x00007faf60a356f6 WLDAP32_ber_printf+0x2f5(berelement=0x7d9dc330,
fmt="i}")
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\dlls\wldap32\ber.c:392]
in wldap32 (0x000000000031fa90)
6 0x0000000064342bcd search_SetSearchPreference+0x30c(iface=0xc7f010,
prefs=<is not available>, count=<is not available>)
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\dlls\adsldp\adsldp.c:1197]
in adsldp (0x0000000000c7f010)
7 0x00000000004023f8 func_ldap+0xbd7()
[Z:\home\giovanni\progetti\windows\wine\build64-simple\include\iads.h:2777] in
adsldp_test (0x000000000031fc20)
8 0x000000000040562e main+0x21d(argc=<is not available>, argv=<is not
available>)
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\include\wine\test.h:569]
in adsldp_test (0x0000000000c61160)
9 0x0000000000404577 mainCRTStartup+0x66()
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\dlls\msvcrt\crt_main.c:58]
in adsldp_test (0x0000000000000000)
10 0x000000007b62dd49 BaseThreadInitThunk+0x8(unknown=<is not available>,
entry=<is not available>, arg=<is not available>)
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\dlls\kernel32\thread.c:59]
in kernel32 (0x0000000000000000)
11 0x000000007bc5c043 RtlUserThreadStart+0x82(entry=0x404510,
arg=0x7fffffdaf000)
[Z:\home\giovanni\progetti\windows\wine\build64-simple\..\wine\dlls\ntdll\thread.c:179]
in ntdll (0x0000000000000000)
0x00007faf632f8ce1 execlp+0xffffffffffffffff in libc.so.6: movq
0x0000000000000108(%rsp),%rax
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list