> >>    Such an errors results from (uncommented) kernel option
                                     ^^^^^^^^^^^
> >> 
> >> #makeoptions       CONF_CFLAGS=-fno-builtin
> > 
> > We have enough breakages with the _documented_ kernel options that we 
                                      ^^^^^^^^^^^^
> > don't need to go hunting down oddities. :>

It's well documented.  -fno-builtin is a standard gcc option, and
CONF_FLAGS and its use of -fno-builtin is documented in 4 lines in LINT.

>       Does it mean that I throw away my PR with patches to
> the 'newpcm' files which add 'abs' definition and therefore
> make it possible to make kernel with 
> 
> makeoptions CONF_CFLAGS=-fno-builtin   ?

No, some patches are needed.  I think pcm should use explicit code
like (x < 0 : -x : x).  It only calls abs() twice.

> P.S. It seems to me that this option (or its absent) can
> severely influence kernel run time efficience (not in the 'abs'
> case, of course ;-).

I used to use it for all kernels as a side effect of putting it in
/etc/make.conf so that it gets used for LINT.  Any efficiency effects
seem to be limited to the +-0.1% range.  The only place where it is
likely to make much difference is for bcopy() vs memcpy() on some
machines.  The builtin memcpy() can be pessimal.  This is supposed to
be handled by using bcopy() for large copies and memcpy() (only) for
small, fix-sized copies.  The builtin memcpy() tends to be better for
small copies.  Since using memcpy() in the kernel is correct in some
cases, it is backed up by a function to handle cases where there is
no inline memcpy().

Bruce



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to