Open orsonteodoro opened 8 years ago
I did a git bisect
of the bugs and found 10 breakages to this 2+ year problem. So far I patched v8, the JavaScript engine behind Chromium, up to 5.3.332.40 from 3.27.9999, which was equivalent to the last commit from fenghaitao git repository. After I patch v8 to 5.3.332, I will work on Chromium 54.0.2840.59, the current stable on the Gentoo portage tree. We should see Chromium on x32 ABI soon.
The commits that cause the breakage are.... commit 1 cc3337c1c2d0cff54fd18afc495ed1e102e6da34 revert commit 2a 801f1b6de81bc1629e6bf35642cfb5fafb15833e commit 2b 81e131ce4889205570e870cf50c55c7ad61aa376 commit 3 ed2be747ad13746797b655fa4f5c23dc6b0ef3e3 revert commit 4 5a0df034d14674e789c447161fec96d3cfa836a5 commit 5 bc8f9a78f05c7a9dce0a112835d797d8082749eb commit 6 473280f82a260f5e07f7ae2649e74732d686389f commit 7 fa570e55b623c74245945e3bdda042df1bf6a196 commit 8 04c8c11ee569a41d4b07839154eb0c718ff6e381 commit 9 02c8b6f7f0f8801f0cdc33bef576e3b0c3db394e commit 10 eff24bef5c0f071008bdd4bcee3a86384e90c90b commit 11 25af5d3d325f3a9aced80fee02df29155b4c695e commit 12 c8ac0d8693f559795eeb3f3aaf386dde166fb2ab commit 13 2ef6862e5d89807fc1f12a1a86ba7ebf0b7112b2 commit 14 ? can't remember. will fill in after reviewing megapatch commit 15-1 f0a430e5dcfaaa27ab7cef19c935cd255d0c42d1 commit 15-2 02c3414d6283a5c98f0ba0bec484b216ee2a0c8f unify builtins commit 16 7ae653f79b20fd3341d7d6e9ba843b69fa39c4a1 turbofan storeic_{miss,slow} commit 17 5abc73a1e8ec1b96fcc01dc045dc3dbfa4d36515 builtin sort by use commit 18 406146ff5ca274265ee704d73a00c8a8127f75c6 tonumber commit 19a e6822a8338c70ab476e545da95d958c23ac366f9 commit 19b b659a0ac2306303f0b7799fc884d57ca0c4dbf92
The above backtraces and provided patches previously provided in this repository are irrelevant to fixing this bug.
Here is the patch for 5.3.201.good.patch for non multilib x32. For multilib support there needs to be more #if checks added. https://gist.github.com/orsonteodoro/f771c4b2105c69c6d9f885d9dc8dd372
Since the stable ebuild was updated, the release for my Chromium ebuild will be delayed. v8 x32 patches needs to be updated to 5.4.500.31 for chromium-54.0.2840.59. Currently, I am at 5.4.259.
Dirty patch for 5.4.259.good.patch that hasn't been unit tested https://gist.github.com/orsonteodoro/b9ea17880f824e1c61cd2a06dbfa232b
Most of the breakage is coming from TurboFan stubs. So at this point, I may need to stop because it is becoming more difficult to undo these changesets. It would just be better to fix the Bug correctly instead of reverting stuff.
@orsonteodoro I'm bringing up an x32 system for the first time in a couple of years. It's a bit disappointing how even many things I'd supplied fixes upstream for remain unfixed. I've not tried porting Chromium but I have maintained patches against it previously, in particular I worked on the VAAPI patch for a while so I'm prepared to give it a go. It's always disheartening when upstream is unreceptive as Google was for VAAPI Linux support too.
Bootstrapper::CompileBuiltin for prologue fails. here is the gdb output
mksnapshot will segfault at CALL_GENERATED_CODE
//
///// backtrace before crash