2006-09-11 22:45:27

by Judith Lebzelter

[permalink] [raw]
Subject: 2.6.18-rc6-mm1 'uio_read' redefined, breaks allyesconfig on i386

Hello,

I noticed in the 'allyesconfig' build for i386 is not working for 2.6.18-rc6-mm1.
The function 'uio_read' in gregkh-driver-uio.patch has the same name as a
function in fs/xfs/support/move.c. Here is the error message:

LD drivers/w1/built-in.o
LD drivers/built-in.o
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(.text+0x6eb597): In function `uio_read':
drivers/uio/uio_dev.c:59: multiple definition of `uio_read'
fs/built-in.o(.text+0x2f4ee8):fs/xfs/support/move.c:26: first defined here
i686-unknown-linux-gnu-ld: Warning: size of symbol `uio_read' changed from 123 in fs/built-in.o to 397 in drivers/built-in.o
make: [.tmp_vmlinux1] Error 1 (ignored)
KSYM .tmp_kallsyms1.S
i686-unknown-linux-gnu-nm: '.tmp_vmlinux1': No such file
No valid symbol.
make: [.tmp_kallsyms1.S] Error 1 (ignored)

WKR,
Judith Lebzelter
OSDL


2006-09-11 22:53:22

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.18-rc6-mm1 'uio_read' redefined, breaks allyesconfig on i386

On Mon, 11 Sep 2006 15:45:20 -0700
Judith Lebzelter <[email protected]> wrote:

> Hello,
>
> I noticed in the 'allyesconfig' build for i386 is not working for 2.6.18-rc6-mm1.
> The function 'uio_read' in gregkh-driver-uio.patch has the same name as a
> function in fs/xfs/support/move.c. Here is the error message:
>
> LD drivers/w1/built-in.o
> LD drivers/built-in.o
> 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(.text+0x6eb597): In function `uio_read':
> drivers/uio/uio_dev.c:59: multiple definition of `uio_read'
> fs/built-in.o(.text+0x2f4ee8):fs/xfs/support/move.c:26: first defined here
> i686-unknown-linux-gnu-ld: Warning: size of symbol `uio_read' changed from 123 in fs/built-in.o to 397 in drivers/built-in.o
> make: [.tmp_vmlinux1] Error 1 (ignored)
> KSYM .tmp_kallsyms1.S
> i686-unknown-linux-gnu-nm: '.tmp_vmlinux1': No such file
> No valid symbol.
> make: [.tmp_kallsyms1.S] Error 1 (ignored)
>

Thanks. I'd suggest that XFS is being poorly behaved here. "uio_read" isn't
an appropriately named symbol for a filesystem to be exposing.

2006-09-11 23:29:08

by Judith Lebzelter

[permalink] [raw]
Subject: Re: 2.6.18-rc6-mm1 'uio_read' redefined, breaks allyesconfig on i386

On Mon, Sep 11, 2006 at 03:53:11PM -0700, Andrew Morton wrote:
> On Mon, 11 Sep 2006 15:45:20 -0700
> Judith Lebzelter <[email protected]> wrote:
> > I noticed in the 'allyesconfig' build for i386 is not working for 2.6.18-rc6-mm1.
> > The function 'uio_read' in gregkh-driver-uio.patch has the same name as a
> > function in fs/xfs/support/move.c. Here is the error message:
> >
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > drivers/built-in.o(.text+0x6eb597): In function `uio_read':
> > drivers/uio/uio_dev.c:59: multiple definition of `uio_read'
> > fs/built-in.o(.text+0x2f4ee8):fs/xfs/support/move.c:26: first defined here
> > i686-unknown-linux-gnu-ld: Warning: size of symbol `uio_read' changed from 123 in fs/built-in.o to 397 in drivers/built-in.o
> > make: [.tmp_vmlinux1] Error 1 (ignored)
> > KSYM .tmp_kallsyms1.S
> > i686-unknown-linux-gnu-nm: '.tmp_vmlinux1': No such file
> > No valid symbol.
> > make: [.tmp_kallsyms1.S] Error 1 (ignored)
> >
>
> Thanks. I'd suggest that XFS is being poorly behaved here. "uio_read" isn't
> an appropriately named symbol for a filesystem to be exposing.

Great. This is showing up on other platforms as well in PLM (OSDL's cross-compile
build farm), so it will be good to see it fixed.:~)

Judith