https://trac.webkit.org/changeset/190289 made 374 tests crash on 32 bit ARM Linux platforms. (81 different tests) EFL ARMv7 Thumb2 instructuon set: https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release/builds/15412 EFL ARMv7 "traditional" ARM instruction set: https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Traditional%20Release/builds/15278 GTK ARM "whatever": https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/8640
Should this be duped to bug 149647 now (the rollout bug)?
I think I found the issue. In LowLevelAssembler.asm, the macro prepareForTailCall had the following construct: if ARM or SH4 or ARM64 or C_LOOP or MIPS addp 2 * PtrSize, sp subi 2 * PtrSize, temp2 loadp PtrSize[cfr], lr else addp PtrSize, sp subi PtrSize, temp2 loadp PtrSize[cfr], temp3 storep temp3, [sp] end The "if ARM or SH4 ..." case accounts for having a link register. The problem is that this if should also take into account the other ARM variants. It should read: if ARM or ARMv7_TRADITIONAL or ARMv7 or SH4 or ARM64 or C_LOOP or MIPS Running all JSC regression tests now.
Created attachment 262191 [details] Patch
Landed as part of change set r190370: <http://trac.webkit.org/changeset/190370>.