| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
printf() and avoid calling it unless needed (i.e., when we have a
floating point value to print). This isn't a big concern currently
due to our limited locale support and current localeconv()
implementation, but it's still technically a data race and
implementing POSIX 2008 per-thread locales is likely to make it worse.
nl_langinfo() isn't guaranteed by POSIX to be thread-safe either, but
at least our current implementation is thread-safe and it's a simpler
interface to keep that way. Printing floating point values isn't
async-signal-safe anyway due to gdtoa()'s use of malloc(), so that's
not an issue.
ok deraadt, stsp, millert
|
|
|
|
|
|
| |
the vfprintf(3) man page for ages. Based on code from NetBSD/FreeBSD.
Prevent ramdisk growth with a maze of #ifdefs.
ok robert, no objections deraadt, espie, millert
|
| |
|
|
|
|
| |
Noted by Claus Assmann
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
internally when and where required. Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking. A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization. Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.
committing on behalf of and okay guenther@ now that we have install
media space available.
|
| |
|
|
|
|
| |
media to fit
|
|
|
|
|
|
|
|
|
|
|
|
| |
internally when and where required. Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking. A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization. Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.
ok kurt@, earlier version tested by sthen@ and jj@
|
|
|
|
|
|
| |
ecvt, fcvt, gcvt, *printf, strtof, strtod, strtold act per ieee
1003.1. after these massive changes, remove unused files which
would not work now. reported by Maksymilian Arciemowicz; ok theo
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- provide proper dtoa locks
- use the real strtof implementation
- add strtold, __hdtoa, __hldtoa
- add %a/%A support
- don't lose precision in printf, don't round to double anymore
- implement extended-precision versions of libc functions: fpclassify,
isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is
fixed
- separate vax versions of strtof, and __hdtoa
- add complex math support. added functions: cacos, casin, catan,
ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp,
clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf,
casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf,
ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf,
cimagf, conjf, cprojf, crealf
- add fdim, fmax, fmin
- add log2. (adapted implementation e_log.c. could be more acruate
& faster, but it's good enough for now)
- remove wrappers & cruft in libm, supposed to work-around mistakes
in SVID, etc.; use ieee versions. fixes issues in python 2.6 for
djm@
- make _digittoint static
- proper definitions for i386, and amd64 in ieee.h
- sh, powerpc don't really have extended-precision
- add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h
for LDBL_*
- merge lead to frac for m{6,8}k, for gdtoa to work properly
- add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa
to use
- add EXT_IMPLICIT_NBIT definition, which indicates implicit
normalization bit
- add regression tests for libc: fpclassify and printf
- arith.h & gd_qnan.h definitions
- update ieee.h: hppa doesn't have quad-precision, hppa64 does
- add missing prototypes to gdtoaimp
- on 64-bit platforms make sure gdtoa doesn't use a long when it
really wants an int
- etc., what i may have forgotten...
- bump libm major, due to removed&changed symbols
- no libc bump, since this is riding on djm's libc major crank from
a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@,
merdely@, jsing@, tedu@, brad@, jakemsr@, and others.
looks good to millert@
parts of the diff ok kettenis@
this commit does not include:
- man page changes
|
| |
|
|
|
|
|
|
| |
- make inf INF nan NAN comply to standards (eEfFgG)
- extend man page bits
ok millert@. w/ a man page tweak and ok jmc@
|
| |
|
|
|
|
|
|
| |
- remove 'value < 0' cruft, dtoa already clears sign bit for us
discussed with, and tested by phessler@
ok millert@, who noticed to remove now-unused variable, and phessler@
|
| |
|
|
|
|
|
| |
Replace the non-portable hackery in __find_arguments() with a union.
From FreeBSD.
|
| |
|
|
|
|
| |
ok espie@
|
|
|
|
| |
ok millert tedu
|
|
|
|
|
|
|
|
|
|
|
| |
p - cp cannot be greater than prec).
Prevent an integer overflow when printing a string with length
greater than INT_MAX.
Initial diff from millert@.
OK millert@, beck@, and otto@.
|
|
|
|
| |
values for the field width. Adapted from a diff by Christian Biere.
|
|
|
|
| |
of 2 from 16 to pagesize(); ok otto
|
|
|
|
|
| |
codebase. tested mostly by ckuethe and myself. __dtoa() use now requires
a call to __freedtoa()
|
|
|
|
|
|
|
| |
callers do not yet check since printf() for example is not documented
to return an error.
some formatting cleanups.
mostly ok deraadt millert
|
|
|
|
| |
part from FreeBSD.
|
|
|
|
|
| |
Add new sys/_types.h header
Include machine/_types.h or sys/_types.h where applicable
|
| |
|
|
|
|
|
| |
sent out and approved about 6 months ago and has been rotting in
my tree ever since.
|
|
|
|
| |
ok deraadt espie kettenis
|
|
|
|
|
|
| |
Kill old files that are no longer compiled.
okay theo
|
|
|
|
|
| |
reviewed by millert, otto, kevlo, naddy, kettenis...
libc+libstdc++ bump
|
|
|
|
|
|
|
| |
Use stateful functions for mbtowc.
Use the same loop for scanning and for rescanning the format.
okay millert@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extended attribute data structure (pimpl idiom). Idea taken from citrus.
Much discussion with deraadt@, otto@, millert@...
This is the least disruptive way to extend FILE, since its size can't really
change without this being a flag day. So the size doesn't change.
Actual additions to the structure will come in separate steps, since this
change is nasty enough on its own.
Tests by otto@ and others, careful reading of code by otto@ and millert@.
This is definitely a major bump, and has been checked to not impact a
full ports build.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
ok millert@ deraadt@
|
|
|
|
| |
ok henning@ millert@ deraadt@
|
| |
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
|
|
|
| |
use mmap() instead of malloc(). this makes all the functionality in
snprintf() and friends signal race safe. it also makes syslog_r() and the
entire family of *warn*() and *err*() signal race safe, which was the
real goal. ok pjazen millert
|
|
|
|
| |
and gcc3.2 requires this on powerpc.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
code was in error but due to C precedence rules it didn't cause a
problem.
|