sys/x86/isa/clock.c:189: undefined reference to `cyclic_clock_func'

J. Hellenthal jhell at DataIX.net
Tue Mar 8 09:19:36 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On Tue, 8 Mar 2011 03:29, jhell@ wrote:
>
> Hello Stable@,
>
> Compiling a kernel on stable/8 with DTrace support is failing with the above 
> subject line upon linking kernel.debug.
>
> The text leading up to this is:
> ...
> ctfconvert -L VERSION -g vers.o
> linking kernel.debug
> clock.o(.text+0x84c): In function `clkintr':
> /usr/src/sys/x86/isa/clock.c:189: undefined reference to `cyclic_clock_func'
>
> And upon inspection of clock.c:
> #ifdef KDTRACE_HOOKS
> #include <sys/dtrace_bsd.h>
> #endif
>
> And in clkintr():
> #ifdef KDTRACE_HOOKS
>        /*
>         * If the DTrace hooks are configured and a callback function
>         * has been registered, then call it to process the high speed
>         * timers.
>         */
>        int cpu = PCPU_GET(cpuid);
>        if (cyclic_clock_func[cpu] != NULL)
>                (*cyclic_clock_func[cpu])(frame);
> #endif
>
>
> It seems for some odd reason that <sys/dtrace_bsd.h> is being forgotten when 
> it comes time for linking ? What is going on here ?
>
> Id like to just remove the ifdef's for KDTRACE_HOOKS just to get the build to 
> finish but in the case that I want to build another kernel without dtrace I 
> would have to add them back. Anyone have a better fitting solution to this ?
>
> Would it be just as good to re-ifdef this to ?WITH_CTF? instead.
>
> Anyway... this is latest code from stable/8 on i386. And yes options 
> KDTRACE_HOOKS is in the kernel config.
>
> And the command that caused all this:
> ( make kernel WITH_CTF=1 )
>

In light of this I decided to just remove the effected section of clock.c 
and move forward as this part of the kernel with DTrace is not what I am 
looking into.

Attached is a small patch that removes it in case someone else comes 
across the same thing and needs a quick workaround.

- -- 

  Regards,

  J. Hellenthal
  (0x89D8547E)
  JJH48-ARIN

-----BEGIN PGP SIGNATURE-----
Comment: THIS SOFTWARE AND/OR CONTENTS IS PROVIDED BY THE AUTHOR ``AS IS'' AND
Comment: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Comment: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
Comment: PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
Comment: DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Comment: DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Comment: OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Comment: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
Comment: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
Comment: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Comment: POSSIBILITY OF SUCH DAMAGE.

iQEcBAEBAgAGBQJNdfSCAAoJEJBXh4mJ2FR+K18H/A1KD0Ki1GR696dCvn2iJByH
ym2nrsREjdVzFS2P7tW5PO0fmIc8eiFvqimeKHjexDS9JUH+3ybJ2ccF8JqHrR50
G/lNluptzLibPsqQY3+l/EsOUe//8NZUrUYV0ymOGfMsO5v49fBIfSKAT3JBFmY7
nq8wXMP5ncP8cjGdT6abSryIHmXVxY+E2R2DUOyfmbwZ+J/8fjfNEqxZta+Vc2Bv
N2BJlEW1eJQBHrq2YuEM3iMBGqRkYywaG7hAWnJXXGUf+/8A/B3SgE1zLBlyCbfB
osUjJE/AA7TtBawG6b5V10GCBSMxLaFdhaEzzyd4MtrRPnhuFWsjnPi4ACqnrhc=
=3a8e
-----END PGP SIGNATURE-----
-------------- next part --------------
changeset:   947:6dc8de7b9735
branch:      DataIX
tag:         tip
user:        J. Hellenthal <jhell at DataIX.net>
date:        Tue Mar 08 03:56:34 2011 -0500
summary:     clkintr removal of cyclic_clock_func KDTRACE_HOOKS

diff -r b8f7392deaf6 -r 6dc8de7b9735 sys/x86/isa/clock.c
--- a/sys/x86/isa/clock.c	Mon Mar 07 13:06:50 2011 -0500
+++ b/sys/x86/isa/clock.c	Tue Mar 08 03:56:34 2011 -0500
@@ -179,17 +179,6 @@
 	KASSERT(using_lapic_timer == LAPIC_CLOCK_NONE,
 	    ("clk interrupt enabled with lapic timer"));
 
-#ifdef KDTRACE_HOOKS
-	/*
-	 * If the DTrace hooks are configured and a callback function
-	 * has been registered, then call it to process the high speed
-	 * timers.
-	 */
-	int cpu = PCPU_GET(cpuid);
-	if (cyclic_clock_func[cpu] != NULL)
-		(*cyclic_clock_func[cpu])(frame);
-#endif
-
 	if (using_atrtc_timer) {
 #ifdef SMP
 		if (smp_started)



More information about the freebsd-stable mailing list