NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/53590: DTrace fbt_getargdesc() fails with "Unknown function"

The following reply was made to PR kern/53590; it has been noted by GNATS.

From: Andreas Gustafsson <>
To: (Christos Zoulas)
Subject: Re: kern/53590: DTrace fbt_getargdesc() fails with "Unknown function"
Date: Tue, 11 Sep 2018 22:55:59 +0300

 Christos Zoulas wrote:
 > You need a fully modular kernel for dtrace to work, otherwise the ctf
 > tables overflow and you only get the bupkis symbol.
 Looks like you are talking about the CTF typeid overflow issue discussed in , but I
 believe that is a different problem.  My GENERIC kernels don't even have
 enough type entries to overflow the table:
 netbsd-8.0# ctfdump /netbsd | grep "total number of types"
   total number of types               = 617
 netbsd-current# ctfdump /netbsd | grep "total number of types"
   total number of types               = 816
 More to the point, this PR is about a lack of function entries, not
 type entries.  The GENERIC kernel in the 8.0 release and in the latest
 daily build both have only a single dummy function in the "Functions"
 section of the ctfdump output:
 - Functions ------------------------------------------------------------------
   [19881] FUNC (_debugsym_dummyfunc) returns: 608 args: (683)
 - Types ----------------------------------------------------------------------
 Same thing when I build a release myself using " release".
 However, if I manually build a kernel using " kernel.gdb=GENERIC",
 that not only builds a (huge) netbsd.gdb, but also overwrites the netbsd
 (without the .gdb suffix) from " release" with an only slightly
 larger one (27 megabytes instead of 26), and that one *does* include
 CTF function entries, 34956 of them, including one for vmem_alloc:
 # ctfdump netbsd|grep vmem_alloc
   [33669] FUNC (vmem_alloc) returns: 1 args: (29302, 1791, 29301, 29303)
 It seems to me this 27-megabyte kernel having the CTF function entries
 is what releases ought to install by default, not the 26-megabyte
 kernel lacking them.
 And until both that and the typeid overflow issue have been fixed,
 the HOWTO at
 needs to be changed to give instructions that actually work.
 Andreas Gustafsson,

Home | Main Index | Thread Index | Old Index