Re: build issue #538 for v2.6.27-rc1 :undefined reference to`pnp_get_resource'

From: Adrian Bunk
Date: Wed Jul 30 2008 - 07:23:18 EST


On Wed, Jul 30, 2008 at 03:03:44AM -0700, Andrew Morton wrote:
> On Tue, 29 Jul 2008 18:11:46 +0200 Toralf F__rster <toralf.foerster@xxxxxx> wrote:
>
> > Hello,
> >
> > the build (.config attached) failed, make ends with :
> > ...
> > AS arch/x86/lib/thunk_32.o
> > CC arch/x86/lib/usercopy_32.o
> > AR arch/x86/lib/lib.a
> > LD vmlinux.o
> > MODPOST vmlinux.o
> > WARNING: modpost: Found 13 section mismatch(es).
> > To see full details build your kernel with:
> > 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> > GEN .version
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > drivers/built-in.o: In function `pnp_port_start':
> > /home/tfoerste/devel/linux-2.6/include/linux/pnp.h:51: undefined reference to `pnp_get_resource'
> > make: *** [.tmp_vmlinux1] Error 1
> >
>
> y:/usr/src/25> grep PNP .config
> y:/usr/src/25> grep pnp_port_start $(find . -name '*.o')
> Binary file ./drivers/built-in.o matches
> Binary file ./drivers/telephony/built-in.o matches
> Binary file ./drivers/telephony/ixj.o matches
> Binary file ./vmlinux.o matches
>
> I assume that drivers/telephony/ixj.c needs to depend on PNP.
>...

No, it does not need this dependency.

CONFIG_OPTIMIZE_INLINING broke it, and Bjorn has already done a fix
(it's silly to get an out-of-line pnp_port_start() function only due to
it having two callers in one source file, but that is what gcc 4.2 does
as "optimized inlining"...).

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/