08-11-2016, 07:56 PM | #21 |
NGD·Studios
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,859
|
Well, we finally got to the real problem!
You never had a 64-bit version working in the past. We released the 64-bit version in Steam some weeks ago. You were running the 32-bit version and everything was fine until we made available the 64-bit one. Even if we set the flag to avoid lahf/sahf, LuaJIT needs it and, of course, adds it. The possible solutions would be: - Downloading the 32-bit installer from our website and play outside Steam. - Find a way (I don't know if it's possible) to force Steam to use the 32-bit architecture for CoR. So, there is no way for us to fix it. Sorry!
__________________
|
08-11-2016, 08:47 PM | #22 |
Marquis
Join Date: Aug 2007
Location: Germany
Posts: 1,843
|
I was curious, and turned out - there is another option.
However first a quick note - even when supplying "-mno-sahf" to gcc when compiling LuaJIT - it will not remove it - because it is INLINE asm, this will be translated verbatim. So what are we using. Code:
[enio@thinkpad ~]$ cd regnum/live; strings game | grep LuaJ LuaJIT 2.0.2 Code:
[enio@thinkpad LuaJIT-2.0.2]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem 2924: dd 42 08 fldl 0x8(%rdx) 2927: dd 02 fldl (%rdx) 2929: d9 f8 fprem 292b: df e0 fnstsw %ax 292d: 9e sahf 292e: 7a f9 jp 2929 <lj_ff_math_fmod+0x28> [enio@thinkpad LuaJIT-2.0.3]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem 2921: dd 42 08 fldl 0x8(%rdx) 2924: dd 02 fldl (%rdx) 2926: d9 f8 fprem 2928: df e0 fnstsw %ax 292a: 9e sahf 292b: 7a f9 jp 2926 <lj_ff_math_fmod+0x28> [enio@thinkpad LuaJIT-2.0.4]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem 291f: dd 42 08 fldl 0x8(%rdx) 2922: dd 02 fldl (%rdx) 2924: d9 f8 fprem 2926: df e0 fnstsw %ax 2928: 66 25 00 04 and $0x400,%ax 292c: 75 f6 jne 2924 <lj_ff_math_fmod+0x28> Here is the github commit in question, sadly no reasoning stated, however its labelled "x86/x64: Avoid use of SAHF instruction." (https://github.com/LuaJIT/LuaJIT/com...412c20c3eb0128) tl;dr: SHAF is not used anymore in LuaJit since version 2.0.4, so get it updated! :P |
08-11-2016, 09:02 PM | #23 | |
NGD·Studios
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,859
|
Quote:
Tomorrow we will test updating it and see if everything still works, ha!
__________________
|
|
08-11-2016, 09:44 PM | #24 | |
Marquis
Join Date: Aug 2007
Location: Germany
Posts: 1,843
|
Quote:
In case there are incompatibilities regarding other changes in 2.0.3/2.0.4 - it should be very easy to cherry pick this change into 2.0.2 too. Good luck! Last edited by _Enio_; 08-11-2016 at 09:45 PM. Reason: typo |
|
08-13-2016, 07:28 PM | #25 |
NGD·Studios
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,859
|
Good news. It works and sahf is not there anymore. We'll be uploading this on Monday and I'll let you know here so you can test.
__________________
|
08-13-2016, 08:32 PM | #26 |
Marquis
Join Date: Aug 2007
Location: Germany
Posts: 1,843
|
Awesome, thanks for the update.
|
08-15-2016, 11:14 AM | #27 |
NGD·Studios
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,859
|
We uploaded the 64-bit version with the changes to our experimental repository. Lebeau, please tick in your launcher advanced options "Use experimental client" and let us know if the problem is gone. Thanks!
__________________
|
08-15-2016, 01:30 PM | #28 | |
Banned
Join Date: Oct 2011
Location: 'B-F-Egypt', Virginia, U.S.A. (please pity & forgive us poor american fools!).
Posts: 605
|
Quote:
|
|
08-15-2016, 05:05 PM | #29 | |
Marquis
Join Date: Aug 2007
Location: Germany
Posts: 1,843
|
Quote:
Code:
[15/08/2016 19:03:59] [ClientBase][client_base.cpp(343)] Client build: 39674 [enio@thinkpad live]$ strings game | grep LuaJ LuaJIT 2.0.4 [enio@thinkpad live]$ objdump -d game | grep sahf [enio@thinkpad live]$ |
|
08-15-2016, 08:43 PM | #30 | |
NGD·Studios
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,859
|
Quote:
__________________
|
|
|
|