On Tue, Feb 29, 2000 at 09:06:11AM +0100, Raymond Wiker wrote:
> William Harold Newman writes:
> > On Mon, Feb 28, 2000 at 04:22:42PM +0100, Raymond Wiker wrote:
> > > I'm having trouble debugging this, as gdb does not appear to
> > > work with breakpoints in code called from lisp. I.e, once the runtime
> > > has made the transfer to lisp, my breakpoints will not be
> > > honoured. I'll see if a more recent version of gdb works better.
> > My impression was that this happens because the Lisp system wants to
> > handle all signals itself, and one of the signals it takes over is the
> > one which gdb uses for its breakpoints. My guess is that if you want
> > to be able to set gdb breakpoints in a running SBCL, it might be more
> > fruitful not to look for a newer gdb but instead to cook up some way
> > to suppress the way SBCL munges this particular signal. Perhaps it
> > could be controlled with an --under-gdb option from the command line
> > or something.
> I got a little bit further last night - turns out that there
> were a couple more instances in the lisp code where an underscore was
> prepended to foreign symbols. I had also left out undefineds.c from
> the compilation, which accounted for 31 of the 32 cases of "undefined
> foreign symbol" that I noticed (the last was update_errno, which seems
> to be specific to Linux/glibc2).
It'd probably be be good to move this discussion to the sbcl-devel mailing
list, since about a week ago I had a discussion with Daniel Barlow
and Peter Van Eynde about issues with update_errno.
If I understood correctly, some hack like that is needed with the
new libc because errno has become a macro instead of an ordinary
variable, in order to make it thread-safe. Daniel Barlow was looking
for opinions about how to handle errno in his sockets interface.
So if you're running into porting problems with it, it might
be good to have everyone in on the discussion.
[So I've sent this reply back via sbcl-devel@....]
William Harold Newman <william.newman@...>
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C