| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
pthread functions.
|
| |
|
| |
|
|
|
|
| |
this case and return global varible errno instead.
|
|
|
|
|
|
|
| |
old file, update references, etc. The C function is already named
mac_is_present().
Obtained from: TrustedBSD Project
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In e_log.c, there was just a off-by-1 (1 ulp) error in the comment
about the threshold. The precision of the threshold is unimportant,
but the magic numbers in the code are easier to understand when the
threshold is described precisely.
In e_logf.c, mistranslation of the magic numbers gave an off-by-1
(1 * 16 ulps) error in the intended negative bound for the threshold
and an off-by-7 (7 * 16 ulps) error in the intended positive bound for
the threshold, and the intended bounds were not translated from the
double precision bounds so they were unnecessarily small by a factor
of about 2048.
The optimization of using the simple Taylor approximation for args
near a power of 2 is dubious since it only applies to a relatively
small proportion of args, but if it is done then doing it 2048 times
as often _may_ be more efficient. (My benchmarks show unexplained
dependencies on the data that increase with further optimizations
in this area.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2**-28 as a side effect, by merging with the float precision version
of tanh() and the double precision version of sinh().
For tiny x, tanh(x) ~= x, and we used the expression x*(one+x) to
return this value (x) and set the inexact flag iff x != 0. This
doesn't work on ia64 since gcc -O does the dubious optimization
x*(one+x) = x+x*x so as to use fma, so the sign of -0.0 was lost.
Instead, handle tiny x in the same as sinh(), although this is imperfect:
- return x directly and set the inexact flag in a less efficient way.
- increased the threshold for non-tinyness from 2**-55 to 2**-28 so that
many more cases are optimized than are pessimized.
Updated some comments and fixed bugs in others (ranges for half-open
intervals mostly had the open end backwards, and there were nearby style
bugs).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions are only for compatibility with obsolete standards. They
shouldn't be used, so they shouldn't be optimized. Use the generic
versions instead.
This fixes scalbf() as a side effect. The optimized asm version left
garbage on the FP stack. I fixed the corresponding bug in the optimized
asm scalb() and scalbn() in 1996. NetBSD fixed it in scalb(), scalbn()
and scalbnf() in 1999 but missed fixing it in scalbf(). Then in 2005
the bug was reimplemented in FreeBSD by importing NetBSD's scalbf().
The generic versions have slightly different error handling:
- the asm versions blindly round the second parameter to a (floating
point) integer and proceed, while the generic versions return NaN
if this rounding changes the value. POSIX permits both behaviours
(these functions are XSI extensions and the behaviour for a bogus
non-integral second parameter is unspecified). Apart from this
and the bug in scalbf(), the behaviour of the generic versions seems
to be identical. (I only exhusatively tested
generic_scalbf(1.0F, anyfloat) == asm_scalb(1.0F, anyfloat). This
covers many representative corner cases involving NaNs and Infs but
doesn't test exception flags. The brokenness of scalbf() showed up
as weird behaviour after testing just 7 integer cases sequentially.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to scalbf(), but ldexpf() cannot be implemented in that way since the
types of the second parameter differ. ldexpf() can be implemented as
a weak or strong reference to scalbnf() (*) but that was already done
long before rev.1.10 was committed. The old implementation uses a
reference, so rev.1.10 had no effect on applications. The C files for
the scalb() family are not used for amd64 or i386, so rev.1.10 had even
less effect for these arches.
(*) scalbnf() raises the radix to the given exponent, while ldexpf()
raises 2 to the given exponent. Thus the functions are equivalent
except possibly for their error handling iff the radix is 2. Standards
more or less require identical error handling. Under FreeBSD, the
functions are equivalent except for more details being missing in
scalbnf()'s man page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
well as avoiding a switch statement. This change has no significant impact
to performance when branch prediction is successful at predicting the sizes
of objects passed to free(), but in the case that the object sizes are
semi-random, this change has the potential to prevent many branch prediction
misses, thus improving performance substantially.
Take advantage of alignment guarantees in ipalloc(), and pad object sizes to
something less than a power of two when possible. This has the potential
to substantially reduce internal fragmentation for objects allocated via
posix_memalign().
Avoid an unnecessary pow2_ceil() call in arena_ralloc().
Submitted by: djam8193ah@hotmail.com
|
|
|
|
|
|
|
|
|
| |
and instead creating a small allocation for each malloc(0) call. The
optional SysV compatibility behavior remains unchanged.
Add a couple of assertions.
Fix a couple of typos in error message strings.
|
|
|
|
|
|
|
|
|
| |
The text is correct in the "DESCRIPTION" section, so fix "SYNOPSIS"
to use the correct name.
PR: docs/90498
Submitted by: Vasil Dimov
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
| |
Requested by: Bruno Haible <bruno at clisp org>
Reviewed by: alc
Approved by: pjd (mentor)
MFC after: 1 month
|
|
|
|
|
|
|
| |
Fix a leak in chunk_dealloc(). [2]
Reported by: [1] djam8193ah@hotmail.com,
[2] Ville-Pertti Keinonen <will@exomi.com>
|
| |
|
|
|
|
| |
Obtained from: DragonFlyBSD
|
| |
|
| |
|
| |
|
|
|
|
| |
PR: misc/98872
|
|
|
|
|
|
|
|
| |
to another, the first CWD after a string of CDUPs would incorrectly include
a slash before the directory name.
Reported by: obrien
PR: bin/83278
|
|
|
|
| |
This fix shared library installed correct place.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
do its work for SIGINFO. Always install libpthread signal handler
wrapper for SIGINFO even if user SIG_IGN's or SIG_DFL's it.
SIGINFO has a special meaning for libpthread: when LIBPTHREAD_DEBUG
enviroment variable defined it is used for dumping an information
about threads to /tmp/.
Reported by: mi
Reviewed by: deischen
MFC after: 2 weeks
|
|
|
|
|
| |
Submitted by: delphij
MFC after: 3 days
|
|
|
|
|
|
| |
- Remove two unnecessary casts.
These changes would help gcc4 compile.
|
|
|
|
|
|
|
|
| |
calls. This eliminates TEXTREL from libc, making its text segment relocatable.
PR: i386/85242
Approved by: kan (mentor)
MFC after: 1 month
|
|
|
|
|
|
|
| |
libbsm. This interface is new as of OpenBSM 1.0 alpha 6.
Submitted by: csjp
Obtained from: TrustedBSD Project
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If the initial buffer size (1KB) for the given group line is not big
enough, reset the offset. It helps to do not miss this line when
getrg() reallocates the larger buffer and tries to parse the line again.
PR: bin/52433, kern/55031, bin/83696, misc/97640, misc/98111
Submitted by: bsw71@mail.ru, Philip M. Gollucci, Justin Erenkrantz
Glanced at: nectar
MFC after: 1 month
|
|
|
|
| |
Submitted by: ceri
|
|
|
|
|
|
| |
own.
Ok'ed by: davidxu
|
|
|
|
| |
Noticed by: rodrigc
|
|
|
|
|
| |
- Cast the rvalue to be compared with the result of
strlen() to size_t.
|
| |
|
|
|
|
| |
switched to those created from GCC's crtstuff.c 4 years ago.
|
| |
|
|
|
|
| |
Obtained from: NetBSD (mostly)
|
|
|
|
| |
Reviewed by: ume
|
|
|
|
|
|
| |
# If you bump SHLIB_MAJOR, remove the kluge from gen/gethostname.c.
Reviewed by: ume
|
| |
|
|
|
|
| |
X-MFC after: never
|
|
|
|
|
|
| |
arch.
X-MFC after: never
|
|
|
|
|
|
| |
too short. This conforms to RFC3493, POSIX and XPG6.
Obtained from: NetBSD
|
|
|
|
|
|
| |
support.
X-MFC after: never
|
|\
| |
| |
| | |
which included commits to RCS files with non-trunk default branches.
|
| | |
|