[<prev] [next>] [day] [month] [year] [list]
Message-ID: <112180.11800.qm@web50107.mail.re2.yahoo.com>
Date: Thu, 9 Apr 2009 11:41:44 -0700 (PDT)
From: Doug Thompson <norsk5@...oo.com>
To: Steven Rostedt <rostedt@...dmis.org>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Ingo Molnar <mingo@...e.hu>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] x86,edac: fix for compiler error in traps.c
--- On Wed, 4/8/09, Andrew Morton <akpm@...ux-foundation.org> wrote:
> From: Andrew Morton <akpm@...ux-foundation.org>
> Subject: Re: [PATCH] x86,edac: fix for compiler error in traps.c
> To: "Steven Rostedt" <rostedt@...dmis.org>
> Cc: "Ingo Molnar" <mingo@...e.hu>, "LKML" <linux-kernel@...r.kernel.org>, "Doug Thompson" <norsk5@...oo.com>
> Date: Wednesday, April 8, 2009, 6:48 PM
> On Wed, 8 Apr 2009 20:06:53 -0400
> (EDT) Steven Rostedt <rostedt@...dmis.org>
> wrote:
>
> >
> > Impact: compile fix
> >
> > I got this compile failure on both
> tip/tracing/core as well as on
> > v2.6.30-rc1.
> >
> > LD .tmp_vmlinux1
> > arch/x86/kernel/built-in.o: In function
> `do_nmi':
> > (.text+0x3c18): undefined reference to
> `edac_handler_set'
> > arch/x86/kernel/built-in.o: In function
> `do_nmi':
> > (.text+0x3c48): undefined reference to
> `edac_atomic_assert_error'
> > make: *** [.tmp_vmlinux1] Error 1
> > [root@...hel51 linux-trace.git]# grep
> edac_handler_set
> > [root@...hel51 linux-trace.git]# Grep
> edac_handler_set '*.[ch]'
> > find . -name "*.[ch]" ! -type d |
> xargs grep "edac_handler_set"
> > ./arch/x86/kernel/traps.c: if
> (edac_handler_set()) {
> > ./include/linux/edac.h:extern int
> edac_handler_set(void);
> > ./drivers/edac/edac_stub.c:int
> edac_handler_set(void)
> >
> ./drivers/edac/edac_stub.c:EXPORT_SYMBOL_GPL(edac_handler_set);
> >
> > This patch seems to fix it.
> >
> > Signed-off-by: Steven Rostedt <rostedt@...dmis.org>
> >
> > diff --git a/drivers/edac/Makefile
> b/drivers/edac/Makefile
> > index a5fdcf0..cc2bcb4 100644
> > --- a/drivers/edac/Makefile
> > +++ b/drivers/edac/Makefile
> > @@ -7,7 +7,7 @@
> > #
> >
> >
> > -obj-$(CONFIG_EDAC)
> := edac_stub.o
> > +obj-$(CONFIG_EDAC)
> += edac_stub.o
> > obj-$(CONFIG_EDAC_MM_EDAC)
> += edac_core.o
> >
> > edac_core-objs := edac_mc.o
> edac_device.o edac_mc_sysfs.o edac_pci_sysfs.o
>
> OK, thanks, I'll send that Linuswards asap.
>
> I guess it could/should be
>
> obj-y += edac_stub.o
>
> because CONFIG_EDAC is known to be true in
> drivers/edac/. But that's
> just a consistency/style thing for Doug to scratch his head
> over ;)
I had determined (long ago) that := was a first instance initialization. I could be (probably was) wrong on that. I saw that in other files as well as reading the docs (me read em?).
edac_stub.o is targeted to be IN the kernel via the CONFIG_EDAC object file, since that is a boolean switch. It is a different builtin lib from the modules of edac. It is a relay set of functions and interfaces.
thanks for checking up on it
doug t
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists