|
|
| Bugzilla Link |
6065 |
| Resolution |
DUPLICATE |
| Resolved on |
Feb 02, 2011 03:17 |
| Version |
trunk |
| OS |
Linux |
| CC |
@asl |
Extended Description
This inline-asm in ARMJITInfo.cpp's ARMCompilationCallback:
// Return to the (newly modified) stub to invoke the real function.
// The above twiddling of the saved return addresses allows us to
// deallocate everything, including the LR the stub saved, all in one
// pop instruction.
"ldmia sp!, {r0, r1, r2, r3, lr, pc}\n"
does not assemble as thumb2:
llvm[3]: Compiling ARMJITInfo.cpp for Release-Asserts build
/tmp/ccWGkQ6d.s: Assembler messages:
/tmp/ccWGkQ6d.s:28: Error: LR and PC should not both be in register list -- `ldmia sp!,{r0,r1,r2,r3,lr,pc}'
make[3]: *** [/home/nlewycky/llvm/lib/Target/ARM/Release-Asserts/ARMJITInfo.o] Error 1
with '-Os -mthumb' flags to gcc instead of -O2.
Extended Description
This inline-asm in ARMJITInfo.cpp's ARMCompilationCallback:
does not assemble as thumb2:
llvm[3]: Compiling ARMJITInfo.cpp for Release-Asserts build
/tmp/ccWGkQ6d.s: Assembler messages:
/tmp/ccWGkQ6d.s:28: Error: LR and PC should not both be in register list -- `ldmia sp!,{r0,r1,r2,r3,lr,pc}'
make[3]: *** [/home/nlewycky/llvm/lib/Target/ARM/Release-Asserts/ARMJITInfo.o] Error 1
with '-Os -mthumb' flags to gcc instead of -O2.