lkml.org 
[lkml]   [2009]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] x86,edac: fix for compiler error in traps.c

--- On Wed, 4/8/09, Andrew Morton <akpm@linux-foundation.org> wrote:

> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: Re: [PATCH] x86,edac: fix for compiler error in traps.c
> To: "Steven Rostedt" <rostedt@goodmis.org>
> Cc: "Ingo Molnar" <mingo@elte.hu>, "LKML" <linux-kernel@vger.kernel.org>, "Doug Thompson" <norsk5@yahoo.com>
> Date: Wednesday, April 8, 2009, 6:48 PM
> On Wed, 8 Apr 2009 20:06:53 -0400
> (EDT) Steven Rostedt <rostedt@goodmis.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@bxrhel51 linux-trace.git]# grep
> edac_handler_set
> >  [root@bxrhel51 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@goodmis.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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2009-04-09 20:45    [W:0.027 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site