Date: Fri, 5 Apr 2002 05:10:02 -0800 (PST) From: Bruce Evans <bde@zeta.org.au> To: freebsd-bugs@FreeBSD.org Subject: Re: i386/36761: Symbol problems dependant on boot method, affects user utilities Message-ID: <200204051310.g35DA2078559@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/36761; it has been noted by GNATS. From: Bruce Evans <bde@zeta.org.au> To: Gary Thorpe <gat7634@hotmail.com> Cc: freebsd-gnats-submit@FreeBSD.ORG Subject: Re: i386/36761: Symbol problems dependant on boot method, affects user utilities Date: Fri, 5 Apr 2002 23:08:48 +1000 (EST) On Thu, 4 Apr 2002, Gary Thorpe wrote: > >Description: > Booting the kernel using the second stage bootstrap instead of the third stage loader causes symbols to become hidden from some user programs. > > Specific symbol problems: > > swapinfo: undefined symbol: _numvnodes [when swapinfo is run] > systat: nlist: can't find following symbols: _ccpu ;_fscale [when systat is run] > top: nlist failed [when top is run] > vmstat: undefined symbols: > _kmemstatistics _bucket _zlist [when vmstat is run] This is essentially a duplicate of PR 17422. > >How-To-Repeat: > When the second stage loader pauses, hit any key except enter. Then type 0:ad(0,a)/kernel (which replaces 0:ad(0,a)/boot/loader) and hit enter. This boots the kernel directly instead of using the third stage loader. > >Fix: > Use the third stage loader (but there is no REASON why booting the kernel diffeently should result in symbol problems!). The might be a good reason (the second stage loader might not know how to load all the symbols), but actually there are only the bad reasons that the second stage loader doesn't know how to module metadata table, and the kernel doesn't know what to do when there is no such table. The followup to PR 17422 contains a quick fix. I use a current version of this most of the time. This problem has mostly gone away for userland utilities in -current, because the data behind the symbols is fetched using sysctl(3). The main effect of the bug is now that the kernel debugger can't find static synbols. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204051310.g35DA2078559>