Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/mips/conf



Hi Izumi,

Izumi Tsutsui wrote:

> In article <20051111062204.542AF2DA27%cvs.netbsd.org@localhost>
> simonb%NetBSD.org@localhost wrote:
> 
> > Module Name:        src
> > Committed By:       simonb
> > Date:               Fri Nov 11 06:22:04 UTC 2005
> > 
> > Modified Files:
> >     src/sys/arch/mips/conf: Makefile.mips
> > 
> > Log Message:
> > Build libkern as a .o if LKMs are enabled so that all libkern functions
> > are available to LKMs, not just those needed by the kernel at link time.
> 
> This seems to cause the following errors on arc:
> ---
> ld -T ../../../../arch/mips/conf/kern.ldscript -Ttext 0x80200000 -e start \
> -G 0 -x -o netbsd ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o
> /usr/src/sys/arch/arc/compile/GENERIC/lib/kern/libkern.o(.text+0x640): \
> In function `_insque':
> : multiple definition of `_insque'
> locore.o(.text+0x5a4): first defined here
> /usr/src/sys/arch/arc/compile/GENERIC/lib/kern/libkern.o(.text+0x658): \
> In function `_remque':
> : multiple definition of `_remque'
> locore.o(.text+0x5bc): first defined here
> *** Error code 1
> ---

Using the libkern versions of _insque and _remque work fine.  In fact,
the MIPS locore of version doesn't do the "elem->q_prev = 0;" part of
_remque, and yet because it uses a nop the gcc version still gets away
with the same number of instructions (6) for this function.  The gcc and
locore versions of _insque are the same.

I'm still not sure why my test kernel worked (built for sbmips).  I'll
switch now to the libkern versions.

Simon.
--
Simon Burge                            <simonb%wasabisystems.com@localhost>
NetBSD Support and Service:         http://www.wasabisystems.com/



Home | Main Index | Thread Index | Old Index