[cmucl-help] 19c alpha [Was Re: CMUCL 18c building on tru64 5.1]

Fausto Saporito fausto.saporito at gmail.com
Tue Sep 9 22:55:31 UTC 2014


I did such change... but I have always the same error...
I checked in the source code and that function should be included only
with modular-arith!

;; Not sure this is 100% right, but the defoptimizer for ash only
;; calls ash-left-mod32 when the COUNT is known to be a (UNSIGNED-BYTE
;; 5), which is what %ASHL wants.
#+modular-arith
(defun vm::ash-left-mod32 (integer count)
  (declare (type integer integer)
           (type (integer 0 31) count))
  (bignum::%ashl (ldb (byte 32 0) integer) count))

if I understood well the #-syntax.

Maybe, the cross compiler override such definition... I don't know...


2014-09-10 0:22 GMT+02:00 Raymond Toy <toy.raymond at gmail.com>:
>
>
> On Tue, Sep 9, 2014 at 3:14 PM, Fausto Saporito <fausto.saporito at gmail.com>
> wrote:
>>
>> ok... this is interesting:
>>
>> ldb> print $1
>> $1=       0x30182847: other pointer
>>             header: 0x000003ba: fdefn
>> $2=         name: 0x30182817: ASH-LEFT-MOD32
>> $nil=       function: 0x2800000b: NIL
>>             raw_addr: 0x00010140: 16464
>>
>> I remember ASH-LEFT-MOD32... is something related to modular-arithmetic ?
>> I disabled such feature, but I'm not sure if this could be related.
>
>
> Yes, that's modular arithmetic.  Something is leaking.
> Maybe in your cross script, add something like
>
> (setf *features* (remove :modular-arith *features*))
>
> after c::new-backend. It might be good to do that with :double-double and
> :linkage-table. Not sure though, but probably harmless if you do since alpha
> doesn't support that.
>
>>
>>
>>
>> 2014-09-10 0:04 GMT+02:00 Raymond Toy <toy.raymond at gmail.com>:
>> >
>> >
>> > On Tue, Sep 9, 2014 at 3:00 PM, Fausto Saporito
>> > <fausto.saporito at gmail.com>
>> > wrote:
>> >>
>> >> Now lisp is more verbose:
>> >>
>> >> axpvm01.gitanes.taz> ./lisp -core kernel.core
>> >> In initial-function, and running.
>> >> GLOBALDB-INIT
>> >> FDEFN-INIT
>> >> Error: Undefined symbol.
>> >>     SC: 16, Offset: 23  $1=       0x30182847: other pointer
>> >> LDB monitor
>> >> ldb>
>> >>
>> >> in lisp.map there's no address 30182847
>> >
>> >
>> > Because you're somewhere in Lisp code.
>> >
>> > Type "help" to get some help on how to use ldb.  At this point, you can
>> > probably learn a lot by doing
>> >
>> > print $1 (or print 0x30182847)
>> >
>> > This should tell you at least the symbol name. And since it's undefined,
>> > we'll have to figure out why it's undefined.  Could be an issue in the
>> > 19c
>> > source code, or perhaps something bad happening with cross-compiling
>> > from
>> > 19c linux with :linkage-table enabled.
>> >
>> > But this progress is really encouraging!
>> >
>> >>
>> >>
>> >> I'lll try to understand which is the missing function.
>> >>
>> >>
>> >> 2014-09-09 23:47 GMT+02:00 Raymond Toy <toy.raymond at gmail.com>:
>> >> >
>> >> >
>> >> > On Tue, Sep 9, 2014 at 2:07 PM, Fausto Saporito
>> >> > <fausto.saporito at gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Hello all,
>> >> >>
>> >> >> so we have targeted the right process :-) I got always a sigsegv...
>> >> >> but it's different....
>> >> >> debug_print is working... is there a way to have those messages
>> >> >> printed on the screen ? At the moment I can see them only in dbx :)
>> >> >
>> >> >
>> >> > They should be showing up on the screen. debug_print just does
>> >> > printf/fflush, so they should be there.
>> >> >
>> >> >>
>> >> >>
>> >> >> Yes... I have to go back to rebuild kernel.core after generated
>> >> >> lisp.nm, but it seems not all the functions are present in lisp.nm
>> >> >> The most obvious are missing! Like sin, cos, tan, killpg, etc ...
>> >> >> and
>> >> >> they are defined in undefineds.h
>> >> >
>> >> >
>> >> > Some of these should be defined since they're used in kernel.core.
>> >> > FWIW,
>> >> > killpg is not in lisp.nm on my linux build (normal compile).
>> >> >
>> >> >
>> >> > --
>> >> > Ray
>> >
>> >
>> >
>> >
>> > --
>> > Ray
>
>
>
>
> --
> Ray


More information about the cmucl-help mailing list