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

Fausto Saporito fausto.saporito at gmail.com
Tue Sep 9 08:30:23 UTC 2014


Just another info...
I repeated the creation process of kernel.core.
At the end, when it's saving the kernel.core file (I suppose) I have a lot of:

Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "breakpoint_install"
Warning:  Undefined foreign symbol: "breakpoint_install"
Warning:  Undefined foreign symbol: "breakpoint_install"
Warning:  Undefined foreign symbol: "breakpoint_install"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "breakpoint_remove"
Warning:  Undefined foreign symbol: "breakpoint_remove"
Warning:  Undefined foreign symbol: "breakpoint_remove"
Warning:  Undefined foreign symbol: "breakpoint_remove"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "call_into_c"
Warning:  Undefined foreign symbol: "breakpoint_do_displaced_inst"
Warning:  Undefined foreign symbol: "breakpoint_do_displaced_inst"
Warning:  Undefined foreign symbol: "breakpoint_do_displaced_inst"
Warning:  Undefined foreign symbol: "breakpoint_do_displaced_inst"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "function_end_breakpoint_trap"
Warning:  Undefined foreign symbol: "function_end_breakpoint_trap"
Warning:  Undefined foreign symbol: "function_end_breakpoint_trap"
Warning:  Undefined foreign symbol: "function_end_breakpoint_trap"
Warning:  Undefined foreign symbol: "function_end_breakpoint_end"
Warning:  Undefined foreign symbol: "function_end_breakpoint_end"
Warning:  Undefined foreign symbol: "function_end_breakpoint_end"
Warning:  Undefined foreign symbol: "function_end_breakpoint_end"
Warning:  Undefined foreign symbol: "function_end_breakpoint_guts"
Warning:  Undefined foreign symbol: "function_end_breakpoint_guts"
Warning:  Undefined foreign symbol: "function_end_breakpoint_guts"
Warning:  Undefined foreign symbol: "function_end_breakpoint_guts"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
/home/fausap/CMU/19c/alpha-target/code/debug.axpf
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
Warning:  Undefined foreign symbol: "_undefined_tramp"
; [GC threshold exceeded with 37,566,328 bytes in use.  Commencing GC.]
; [GC completed with 25,727,216 bytes retained and 11,839,112 bytes freed.]
; [GC will next occur when at least 37,727,216 bytes are in use.]
[Building Initial Core File (version 0) in file "target:lisp/kernel.core":
Writing 8192 bytes [1 page] from :READ-ONLY space
Writing 8192 bytes [1 page] from :STATIC space
Writing 9510912 bytes [1161 pages] from :DYNAMIC space
done]
T
* [fausap at localhost 19c]$

but I suppose this is normal, because those functions are defined in
the lisp C frontend... correct ?

2014-09-09 10:09 GMT+02:00 Fausto Saporito <fausto.saporito at gmail.com>:
> 2014-09-09 9:07 GMT+02:00 Carl Shapiro <carl.shapiro at gmail.com>:
>>
>> On Mon, Sep 8, 2014 at 11:50 PM, Fausto Saporito <fausto.saporito at gmail.com>
>> wrote:
>>>
>>> > Can we find out what is in a1 at the time of the crash?  That should be
>>> > the
>>> > jump target.  I am curious if it is 0, which it certainly seems like,
>>> > but we
>>> > have no idea what the debugger might be doing behind your back.  If the
>>> > lisp.nm file does not contain an address for debug_print, genesis will
>>>
>>> this is the line in lisp.nm
>>>
>>> 0x000000120152ec T debug_print
>>
>>
>> Here is some of what my lisp.nm says for 18a on x86
>>
>> 0804e5a0 T call_into_c
>> ...
>> 0804a940 T debug_print
>
> I have also call_into_c
>
> 0x0000001201b550 T call_into_c
>
>> And here is what the disassembly of %initial-function on 18a looks like
>>
>> * (disassemble 'COMMON-LISP::%INITIAL-FUNCTION)
>>
>> 550E6F88:       .ENTRY COMMON-LISP::%INITIAL-FUNCTION() ; (FUNCTION NIL
>>                                                            (VALUES ..))
>>     6FA0:       POP   DWORD PTR [EBP-8]
>>     6FA3:       LEA   ESP, [EBP-96]
>>
>>     6FA6:       TEST  ECX, ECX
>>     6FA8:       JNE   L0
>>     6FAE:       MOV   EAX, [#x550E6E7C]      ; No-arg-parsing entry point
>>     6FB4:       PUSH  EAX
>>     6FB5:       LEA   EAX, [#x804A940]
>>     6FBB:       CALL  #x804E5A0
>>
>> As you can see, debug_print is called indirectly through call_into_c.  If
>> either of these functions could not be found in your lisp.nm or, if there
>> was a parsing error, you would see a lot of zeros.
>>
>> What kind of warnings, if any, do you get when you build a kernel.core
>> regarding foreign symbols?  Anything like "Ignoring malformed line..." or
>> "Undefined foreign symbol: ..."?  You can see a list of these things around
>> the definition of load-foreign-symbol-table in
>> compiler/generic/new-genesis.lisp.
>
> no warnings at all
>
> But, in compile-compiler.log, at the end of the file, (in the
> alpha-cross directory) I have these warnings:
>
> ; Warning: These functions are undefined:
> ;   LISP::COLD-REGISTER-FOREIGN-LINKAGE ALPHA:FIXUP-CODE-OBJECT ALPHA:SANCTIFY-F
> OR-EXECUTION
> ;
>
> In compile-compiler.log (in the alpha-target directory) I have this warning:
> ; Warning: This function is undefined:
> ;   LISP::COLD-REGISTER-FOREIGN-LINKAGE
> ;
>
> but the first of this warning is very strange...
> cold-register-foreign-linkage should be use only if I have
> linkage-table as feature, if I understood well the code
> but I removed that feature...
>
> ... searching in the compile-lisp.log (alpha-target directory), I
> found two errors... but those didn't prevent the creation of
> kernel.core!
>
> ; Comment: $Header: /project/cmucl/cvsroot/src/code/unix.lisp,v 1.107 2005/10/10
>  18:46:39 rtoy Exp $
>
> ;
>
> ; Warning: Redefining SWBLK-T to be:
> ;   (SIGNED 64),
> ; was
> ;   (SIGNED 32)
> ; ;
>
> ; Warning: Redefining SIZE-T to be:
> ;   (UNSIGNED 64),
> ; was
> ;   (UNSIGNED 32)
> ; ;
>
> ; Error: (during macroexpansion)
> ; Error while parsing arguments to DEFMACRO DEF-ALIEN-TYPE:
> ; Invalid number of elements in:
> ;   (TIME-T LONG UNSIGNED-INT)
> ; to satisfy lambda-list: ..
> ; ;
>
> ; Error: (during macroexpansion)
> ; Error while parsing arguments to DEFMACRO DEF-ALIEN-TYPE:
> ; Invalid number of elements in:
> ;   (DEV-T INT UNSIGNED-LONG)
> ; to satisfy lambda-list: ..
> ;
> ; Compiling DEFTYPE FILE-OFFSET:
> ; Compiling Top-Level Form:
>
> and at the end of the log file I have:
>
>
> ; Warning: 35235 more uses of undefined type STREAM:FILE-SIMPLE-STREAM.
> ; ;
>
> ; Warning: These functions are undefined:
> ;   KERNEL:%SET-SYMBOL-HASH ALPHA::COMPATIBLE-FUNCTION-TYPES-P
> ; ;
>
> ; Warning: This type is undefined:
> ;   STREAM:FILE-SIMPLE-STREAM
>
>
>>
>> Also, you can test my theory by providing a better default than 0 for
>> missing undefined symbols like so
>>
>> (defun lookup-foreign-symbol (name)
>>   (multiple-value-bind
>>       (value found)
>>       (gethash name *cold-foreign-symbol-table* #xDEADDEAD)
>>     (unless found
>>       (warn "Undefined foreign symbol: ~S" name))
>>     value))
>>
>
> my definition of such function in new-genesis.lisp is quite different.
> I have the gethash line with nil at the end. Can I modify only that
> value to "DEAD"? :D


More information about the cmucl-help mailing list