Summary: | [ARM] REGRESSION(r190289): It made 374 tests crash on 32 bit ARM Linux | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> | ||||
Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Critical | CC: | msaboff | ||||
Priority: | P1 | ||||||
Version: | Other | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 108645, 148664 | ||||||
Attachments: |
|
Description
Csaba Osztrogonác
2015-09-29 02:29:48 PDT
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>. |