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@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 <[email protected]>: > 2014-09-09 9:07 GMT+02:00 Carl Shapiro <[email protected]>: >> >> On Mon, Sep 8, 2014 at 11:50 PM, Fausto Saporito <[email protected]> >> 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 _______________________________________________ cmucl-help mailing list [email protected] http://lists.zs64.net/mailman/listinfo/cmucl-help
