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