Source-Changes archive

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

Re: CVS commit: src/sys/lib/libsa



On Fri, Mar 21, 2008 at 10:34:38PM +1100, Simon Burge wrote:
> "Tyler R. Retzlaff" wrote:
> 
> > Module Name:        src
> > Committed By:       rtr
> > Date:               Fri Mar 21 10:24:13 UTC 2008
> > 
> > Modified Files:
> > 
> >     src/sys/lib/libsa: strchr.c
> > 
> > Log Message:
> > 
> > when the char being searched for is not found strchr() must return NULL
> > not a pointer to the terminating '\0'. the only time we return a pointer
> > to the terminating '\0' is when the char being searched for is '\0'.

I must have been in brain-failure mode when I wrote that!

> > fixes problem observed booting -current install
> > http://mail-index.netbsd.org/current-users/2008/03/20/msg001445.html
> 
> Now that libsa's version of strchr is correct, it's bigger than the
> strchr.c version in common now.  We should just use the one in common
> instead:
> 
>    text    data     bss     dec     hex filename
>     130       0       0     130      82 strchr.common-i386-asm.o
>      35       0       0      35      23 strchr.common.o
>      41       0       0      41      29 strchr.libsa.o

The problem is that you can't pick up the C version through libkern
(it always uses the large asm one).
Two options:
1) arrange for libsa to be able to pick up functions from common/libc
2) put a space-optimised version in the .S file

It is also rather a PITA to have to build libkern for bootxx - when
only a very small number of fucntions (currently 1) get used!

        David

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


Home | Main Index | Thread Index | Old Index