Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jan 2008 00:49:59 +0000
From:      David Taylor <davidt@yadt.co.uk>
To:        freebsd-stable@freebsd.org
Subject:   Re: [PATCH] 7-STABLE Build broken in geom_io.c with KTR but no DDB
Message-ID:  <20080101004959.GA96045@outcold.yadt.co.uk>
In-Reply-To: <20071231191455.GA74675@outcold.yadt.co.uk>
References:  <20071231191455.GA74675@outcold.yadt.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 31 Dec 2007, David Taylor wrote:

> Hi,
> 
> I've been trying to do some debugging with ktrace(9) for the first time,
> and ran in to a problem after trying to compile the kernel.
> 
> I didn't have DDB defined, and as a result the build failed
> after adding "option KTR":
> 
> geom_io.o(.text+0x5ee): In function `g_alloc_bio':
> ../../../geom/geom_io.c:140: undefined reference to `stack_save'
> geom_io.o(.text+0x61e):../../../geom/geom_io.c:141: undefined reference to `stack_ktr'
> geom_io.o(.text+0x6e1): In function `g_clone_bio':
> 
> The use of CTRx in the geom code appears to be correctly wrapped with
> #ifdef KTR, but this is also all that protects the uses of CTRSTACK.
> 
> CTRSTACK is also defined to use stack_ktr conditionally on #ifdef KTR in
> sys/stack.h, but the stack_ktr function is compiled in to the kernel only
> if DDB is enabled.
> 
> Perhaps CTRSTACK should be non-empty only if both DDB and KTR are defined?

OK, the attached patch is necessary, but not quite sufficient to fix the problem.

geom_io.c also calls stack_save() under #ifdef KTR, when it needs to be under
an #ifdef DDB as well...

P.S. Happy New Year everyone!

-- 
David Taylor 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080101004959.GA96045>