Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Oct 1996 19:53:51 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@freebsd.org, current@freebsd.org, julian@whistle.com
Subject:   Re: Can't compile profiled kernel
Message-ID:  <199610240953.TAA06113@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>some time in the last 2 weeks or so, the following broke.....
>
>loading kernel
>../../libkern/mcount.c:94: Undefined symbol `_read_eflags' referenced
>from text segment
>../../libkern/mcount.c:94: Undefined symbol `_disable_intr' referenced
>from text segment
>../../libkern/mcount.c:253: Undefined symbol `_write_eflags' referenced
>from text segment
>*** Error code 1
>
>Stop.
>
>where do these come from?

These are inline functions defined in <machine/cpufunc.h>.
<machine/cpufunc.h> is included by <sys/systm.h>.  I removed the include
of <sys/systm.h> in mcount.c because it is unused.  It is only unused
in the !GUPROF case.  Oops.  (There are some macros which expand to
read_eflags() etc. in the !GUPROF case but the GUPROF case requires
assembler stubs which have to disable interrupts, so the C code doesn't
need to disable interrupts again.)

This is easy to fix by including <sys/systm.h> again or using option
GUPROF (config with -pp).  I think someone wants you to test GUPROF :-).

Bruce



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