Skip site navigation (1)Skip section navigation (2)
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>