Custom Query (1030 matches)
Results (937 - 939 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #1027 | fixed | ARM ccl typechecking bug | ||
| Description |
Welcome to Clozure Common Lisp Version 1.9-dev-r15475M-trunk (LinuxARM32)! SIP-HASH> (defun barbar (x) (declare (type (unsigned-byte 64) x)) (+ x 1)) BARBAR SIP-HASH> (typep 1084818905618843912 '(unsigned-byte 64)) T SIP-HASH> (barbar 1084818905618843912) ; Evaluation aborted on #<TYPE-ERROR #x54D5B08E>. |
|||
| #788 | fixed | ARM FFI problems, partial patch | ||
| Description |
I've discovered multiple problems in ARM FFI while trying to run CFFI test suite.
Namely, these functions use explicit register specifications for their temps that are used for strd/ldrd instructions that need consective registers. This seems to break register handling somehow, as the following can be observed at the end of disassembly of my-mem-set-double-float in attached floatfail.lisp: (ldrd imm0 (:@ arg_z (:$ 2))) (fmdrr d0 imm0 imm1) (add nargs imm0 imm1) (fmrrd imm0 imm1 d0) (strd imm0 (:@ nargs (:$ 0))) (ldmia (:! sp) (imm0 vsp fn pc)) Here we see imm0 and imm1 getting destroyed by get-double vinsn and later being used to construct address for the following strd as if nothing happened. This leads to memory fault. The possible workaround is not using strd/ldrd at all but perhaps it's also possible to fix temp handling, but I don't have time to do it myself right now. |
|||
| #871 | fixed | ARITHMETIC-ERROR-OPERANDS, -OPERATION not set to meaningful values on x86, ARM | ||
| Description |
When a SIGFPE (or equivalent) is received, we need to try harder to determine the operation/operands to fully initialize the resulting ARITHMETIC-ERROR condition. On x86, CCL::DECODE-ARITHMETIC-ERROR doesn't try very hard. On ARM, nothing tries at all (though we don't actually get a SIGFPE.) The PPC ports disassembled the instruction that caused the exception; the other ports need to do the same thing. |
|||
