Subject: Re: kern/36287: can't load lkm exec_*_elf.o and exec_pecoff.o, conflicting symbol `emul_find_root'.
To: None <gnats-bugs@NetBSD.org>
From: David Laight <david@l8s.co.uk>
List: netbsd-bugs
Date: 05/07/2007 18:16:37
On Mon, May 07, 2007 at 01:40:01PM +0000, tnozaki@netbsd.org wrote:
> >Number:         36287
> >Category:       kern
> >Synopsis:       can't load lkm exec_*_elf.o and exec_pecoff.o, conflicting symbol `emul_find_root'.

> it seems that symbol 'emul_find_root' is conflicted between kernel with lkm.
> >How-To-Repeat:
> $ modload exec_linux_elf.o
> exec_linux_elf.o: In function `emul_find_root':
> : multiple definition of `emul_find_root'
> ld: [1]   Segmentation fault (core dumped) ld -R /dev/ksyms...
> modload: can't prelink `exec_linux_elf.o' creating `exec_linux_elf'
> >Fix:

The fix is to exclude the object file containing find_emul-root() from
the LKMs.  I thought I'd done that.
It is now impossible to build a kernel (at least one that supports
emulations) without that code.

	David

-- 
David Laight: david@l8s.co.uk