Re: 19c alpha [Was Re: CMUCL 18c building on tru64 5.1]
Fausto Saporito <[email protected]> Tue, 9 Sep 2014 09:43:53 +0200
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <CAF1zXh=oyX6=X7qfqGwQ4-6DbJWbstb29zqL7KR+y_jPzWu1-g@mail.gmail.com> |
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 > > 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