On 17 September 2012 19:49, Zhenqiang Chen zhenqiang.chen@linaro.org wrote:
Summary
- Workaround the unwind issue for shrink-wrap
- Verify Linaro tickets.
Details:
- Debugging the failed cases for shrink-wrap. To workaround the
unwind issue, update arm_expand_epilogue to generate return not simple_return when sp is changed.
Hmm. An interesting case for shrinkwrap is:
int foo(void *p) { char big-on-stack-object[543234];
if (p == NULL) return -1;
lots-of-code-that-causes-spills-and calls() }
as shortcutting the prologue is where we get the saving. Does the prologue normally touch SP, or is this for alloca() style functions only?
- Setup Linaro toolchain and verify 8 tickets:
*Linaro gcc: lp:1036170: Function pointer dereferenced twice. It is ARM special bug which is confirmed in 4.6, 4.7 and FSF trunk only on ARM. lp:1048709: wrong assembler, out of range vldr instruction. Confirmed in Linaro 4.6. Can not reproduce it in 4.7 or FSF 4.6. lp:1014658: It is c++11 related issue in 4.6. lp:944572: It is a gcc general issue. lp:972503 and lp:1039401 can not be reproduced.
- Linaro binary toolchain:
lp:1046718: confirmed and fixed it. lP:1049498: invalid
Plans:
- Prepare Linaro binary toolchain 2012.09 release.
- Performance test for shrink-wrap.
- Follow-up the tickets.
Best regards! -Zhenqiang
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain