compile failure on ARMv7 hosts when compiled for thumb if --enable-debug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro QEMU |
Fix Released
|
Undecided
|
Unassigned | ||
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
QEMU won't compile if you configure --enable-debug and gcc is building in Thumb2.
This is because we have picked r7 as the TCG_AREG0 (fixed register for holding the CPU environment pointer), which clashes with its use as the frame pointer in Thumb. (ARM compilation is fine because the frame pointer is a different register there.)
We could fix this by forcing -fomit-
TODO:
* compile with both r6 and r8, and do a trivial benchmarking run
* submit patch (before the upstream 1.0 freeze!)
NB: AREG0 is set in two places that need to stay in sync: dyngen-exec.h and tcg/arm/
Changed in qemu-linaro: | |
status: | New → Confirmed |
Changed in qemu-linaro: | |
status: | In Progress → Fix Committed |
Changed in qemu-linaro: | |
status: | Fix Committed → Fix Released |
Changed in qemu: | |
status: | New → Fix Committed |
Changed in qemu: | |
status: | Fix Committed → Fix Released |
Patch for this: http:// patchwork. ozlabs. org/patch/ 133202/