The code for the error in clisp is:
/* Verify the oint_addr_shift value w.r.t. the autoconfigured CODE_ADDRESS_RANGE
and MALLOC_ADDRESS_RANGE values. */
#if !defined(WIDE_SOFT)
/* The CODE_ADDRESS_RANGE needs to be checked because we store code
pointers in Lisp objects (cf. macro ThePseudofun).
In case of TYPECODES, the typecode() of such pointers must be machine_type,
otherwise gc_mark() gets confused and crashes. */
#if (CODE_ADDRESS_RANGE >> addr_shift) & ~(oint_addr_mask >> oint_addr_shift)
#error oint_addr_mask does not cover CODE_ADDRESS_RANGE !!
#endif
Values are:
CODE_ADDRESS_RANGE 0x000002AA09000000UL
addr_shift 0
oint_addr_mask (((2UL<<((64)-1))-1) & ~(0x01FC00000000UL | (1UL<<63)))
oint_addr_shift 0
So we can ignore the shft and this comes down to
CODE_ADDRESS_RANGE & ~(oint_addr_mask)
0x000002AA09000000UL & ~((((2UL<<((64)-1))-1) & ~(0x01FC00000000UL |
(1UL<<63))))
= 0x000002AA09000000UL & ~(FFFFFFFFFFFFFFFF & 7FFFFE03FFFFFFFF)
= 0x000002AA09000000UL & 800001FC00000000
= 000000A800000000
I need a good case to compare it, the abstraction layers in the includes
are too complex for someone not knowing the code to just read-what-
should-happen
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1931531
Title:
clisp crashed in impish compiling xindy
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/clisp/+bug/1931531/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs