Re: Test failure on ARM
Sam Steingold <[email protected]>
| Newsgroups | gmane.lisp.clisp.devel |
|---|---|
| Message-ID | <[email protected]> |
> * Jerry James <[email protected]> [2012-05-18 11:39:39 -0600]: > > I finally got around to figuring out how to create an ARM VM with > qemu. I've got the upcoming Fedora 17 release running on that VM. > The problem is not in ffcall after all. The illegal instruction error > is occurring on the very last instruction of copy_loop_up_l2() in > src/ariarm.d. A disassembly with GDB shows: > > 0x00106b3c <+0>: ldm r0!, {r2, r4, r12, lr} > 0x00106b40 <+4>: stmia r1!, {r2, r4, r12, lr} > 0x00106b44 <+8>: subs r3, r3, #8 > 0x00106b48 <+12>: ldmge r0!, {r2, r4, r12, lr} > 0x00106b4c <+16>: stmiage r1!, {r2, r4, r12, lr} > 0x00106b50 <+20>: bgt 0x106b3c <copy_loop_up_l2> > 0x00106b54 <+24>: mov r0, r1 > 0x00106b58 <+28>: ldm sp!, {r4, pc}^ > > It's that last ldm instruction, at +28, that is the problem. Also, I > see this from compilation of src/ariarm.s: > ariarm.s: Assembler messages: > ariarm.s:1: Warning: ignoring attempt to redefine built-in register 'a1' > ariarm.s:2: Warning: ignoring attempt to redefine built-in register 'a2' > ariarm.s:3: Warning: ignoring attempt to redefine built-in register 'a3' > ariarm.s:4: Warning: ignoring attempt to redefine built-in register 'a4' > ariarm.s:5: Warning: ignoring attempt to redefine built-in register 'v1' > ariarm.s:6: Warning: ignoring attempt to redefine built-in register 'v2' > ariarm.s:7: Warning: ignoring attempt to redefine built-in register 'v3' > ariarm.s:8: Warning: ignoring attempt to redefine built-in register 'v4' > ariarm.s:9: Warning: ignoring attempt to redefine built-in register 'v5' > ariarm.s:10: Warning: ignoring attempt to redefine built-in register 'v6' > ariarm.s:12: Warning: ignoring attempt to redefine built-in register 'sl' > ariarm.s:13: Warning: ignoring attempt to redefine built-in register 'fp' > ariarm.s:14: Warning: ignoring attempt to redefine built-in register 'ip' > ariarm.s:15: Warning: ignoring attempt to redefine built-in register 'sp' > ariarm.s:16: Warning: ignoring attempt to redefine built-in register 'lr' > ariarm.s:17: Warning: ignoring attempt to redefine built-in register 'pc' > ariarm.s:152: Warning: s suffix on comparison instruction is deprecated > ariarm.s:1027: Warning: s suffix on comparison instruction is deprecated > ariarm.s:1032: Warning: s suffix on comparison instruction is deprecated > > I don't speak ARM assembly. Is there anybody here who does and can > give me a clue as to what to do? This is with GCC 4.7 on an armv7hl > platform. Thanks, I cannot help with the specific problem, but I will ask you to file a CLISP bug report on SF. You can disable all assembly by adding -DNO_ASM to CFLAGS (either at configure time as "./configure CFLAGS=-DNO_ASM build-no-asm" or by editing the Makefile and doing "make clean"). Please see clisp/unix/PLATFORMS for more information. -- Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000 http://www.childpsy.net/ http://openvotingconsortium.org http://jihadwatch.org http://thereligionofpeace.com http://pmw.org.il http://honestreporting.com "A pint of sweat will save a gallon of blood." -- George S. Patton ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ clisp-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/clisp-devel