Add ppc64 little-endian support for luajit2 - #77
Conversation
|
do we have any outlook on getting to the review and/or merger of these changes? Thank you!! |
|
can the community please help in reviewing these changes? thank you! |
|
@seth-priya All checks have passed but there there are 2 conflicting files: |
|
@dominic-nguyen yes I will take a look at these ASAP |
|
@dominic-nguyen conflict is handled now, code is sync'd to the latest, thanks! |
|
@seth-priya Great. Thanks. |
|
@siddhesh Does this branch passes all the tests in our openresty/luajit2-test-suite? Thanks! And sorry for the slow response. |
|
@seth-priya has done the latest update for this branch, so she should be
able to answer that question. She's the primary contact for ppc64le stuff
for moonjit too.
|
|
@agentzh @siddhesh thanks for your response! ./run-tests /usr/local/ |
|
and I will just re-confirm once more with the latest code and post here |
|
luajit2-ppc64le-logs.txt |
|
Awesome! @siddhesh Please squash, rebase and merge to the |
Create a patch for PPC64 support based on LuaJIT/LuaJIT#140. https://bugzilla.redhat.com/show_bug.cgi?id=1591701 This patch has been rebased to match FPU support Author: Guy Menanteau <menantea@fr.ibm.com> Signed-Off-By: Marcin Kościelnicki <koriakin@0x04.net Signed-Off-By: Siddhesh Poyarekar <siddhesh@gotplt.org> [ppc] Fix access beyond list in ipairs The load into TMP2 was incorrectly put into ENDIAN_LE, which made the subsequent check invalid. [ppc] Fix typo [ppc] Load BASEP4 as much as possible BASEP4 doesn't seem to get initialized all the time, especially when BASE is updated because of which programs can crash at random on ppc32. Err on the conservative side and set BASEP4 every time BASE_LO (or BASE_HI for LE) are accessed. This eventually needs to be tuned optimally. [ppc] Revert LE code for assert [ppc] Fix off by one in assert It ended up reading the first argument twice. Fix BC_POW on ppc64le
|
@siddhesh - rebased and squashed, build and all tests pass on ppc64le please review and let me know if anything else is needed, thank you!! |
|
Thanks @seth-priya I'll test and push over the weekend.
|
|
Pushed manually as 2763a42 |
|
The PPC64 work that landed here as 2763a42 introduced two bugs in the soft-float PPC interpreter, which only show up on 32-bit big-endian soft-float targets such as NXP e500v2. ipairs() returns the itype instead of the value and pairs() yields a spurious (nil, nil) over tables with an empty hash part. Both are fixed in #270. Details and reproducers are in that PR. Flagging it here since this is where the change was discussed. |
This set of patches adds ppc64le support for luajit2 with all known bugs fixed and stabilised in my LuaJIT tree.