Date: Sat, 15 Nov 2003 09:54:31 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Robert Watson <rwatson@FreeBSD.org> Cc: cvs-src@FreeBSD.org Subject: RE: cvs commit: src/sys/conf kern.post.mk kmod.mk Message-ID: <20031115094529.H10567@gamplex.bde.org> In-Reply-To: <Pine.NEB.3.96L.1031114122317.18149C-100000@fledge.watson.org> References: <Pine.NEB.3.96L.1031114122317.18149C-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 14 Nov 2003, Robert Watson wrote: > On Fri, 14 Nov 2003, John Baldwin wrote: > > > On 14-Nov-2003 Brian Feldman wrote: > > > green 2003/11/14 08:04:11 PST > > > > > > FreeBSD src repository > > > > > > Modified files: > > > sys/conf kern.post.mk kmod.mk > > > Log: > > > Include opt_global.h in the modules build, when building from a normal > > > kernel build. This makes it possible for me not to get pissed off that > > > random.ko crashes the system trying to rdtsc() when the i386/cpu.h > > > support code decides it's okay to call that op when neither I386_CPU or > > > I486_CPU is defined. I guess it also makes WITNESS/INVARIANTS defines > > > get picked up by the modules. Ugh. > > WITNESS doesn't matter as all calls to it are done in the actual locking > > code itself which does not lives in modules. Modules always call the > > locking functions and don't inline locking operations. WITNESS actually has non-broken support for modules. Modules cannot depend on options, since they must work for all kernels. Here is a fix to unbreak the rdtsc() call similarly. %%% Index: cpu.h =================================================================== RCS file: /home/ncvs/src/sys/i386/include/cpu.h,v retrieving revision 1.68 diff -u -2 -r1.68 cpu.h --- cpu.h 16 Aug 2003 16:57:56 -0000 1.68 +++ cpu.h 14 Nov 2003 18:06:08 -0000 @@ -103,5 +104,5 @@ get_cyclecount(void) { -#if defined(I386_CPU) || defined(I486_CPU) +#if defined(I386_CPU) || defined(I486_CPU) || defined(KLD_MODULE) struct bintime bt; %%% All header files except the one with this bug seem to have had all the necessary ifdefs on Ix86_CPU. > I'd have picked up the syntax error in mac_test.c if this had been in > place then :-). And it makes mac_test and other regression test modules > far more functional... Is mac_test another broken module that depends on options? :-) Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031115094529.H10567>