Subject: Re: kern/36287: can't load lkm exec_*_elf.o and exec_pecoff.o, conflicting symbol `emul_find_root'.
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: David Laight <david@l8s.co.uk>
List: netbsd-bugs
Date: 05/07/2007 17:15:05
The following reply was made to PR kern/36287; it has been noted by GNATS.

From: David Laight <david@l8s.co.uk>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org
Subject: Re: kern/36287: can't load lkm exec_*_elf.o and exec_pecoff.o, conflicting symbol `emul_find_root'.
Date: Mon, 7 May 2007 18:16:37 +0100

 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