https://bugs.winehq.org/show_bug.cgi?id=50845
Bug ID: 50845 Summary: jscript crashes on internal assert(0) in PE build with clang Product: Wine Version: 6.4 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: jscript Assignee: wine-bugs@winehq.org Reporter: dmitry@baikal.ru CC: jacek@codeweavers.com Distribution: ---
Jacek, adding you to cc:, you might be interested.
This doesn't happen in an ELF build.
In order to reproduce build Wine in PE with clang, and run 'make test' in dlls/jscript/tests:
Assertion failed: 0, file ../wine/dlls/jscript/jsutils.c, line 245
This the result of the call hres = jsdisp_define_data_property(ctx->global, L"NaN", const_flags, jsval_number(NAN)); https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/jscript/global.c#l111... during initialization, no user provided script is even gets started being interpreted.
It seems that the reason is difference in 'struct _jsval_t' layout https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/jscript/jsval.h#l54 between gcc and clang.
$ clang --version clang version 11.0.0 Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin