Re: 19c alpha [Was Re: CMUCL 18c building on tru64 5.1]
Carl Shapiro <[email protected]> Tue, 9 Sep 2014 00:07:13 -0700
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CANVK_Qgc68=Moa2K2DFQNq8b-NjwazP4dPkoJcLO0Uvx84LSRw@mail.gmail.com> |
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 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. 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)) _______________________________________________ cmucl-help mailing list [email protected] http://lists.zs64.net/mailman/listinfo/cmucl-help