| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
wrapper .h files and asm labels to let internal calls resolve directly and
not be overridable or use the PLT. Then, apply that framework to most of
the functions in stdio.h, string.h, err.h, and wchar.h. Delete the
should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
tests clean on i386, amd64, sparc64, powerpc, and mips64
naming feedback from kettenis@ and millert@
ok kettenis@
|
|
|
|
| |
ok martynas@, millert@, doug@
|
|
|
|
|
|
|
| |
don't use disable %n ourselves. But Google's Android libc is based
on our libc.... Giving them an easy knob to disable this dangerous
feature easily make their job easier without making our job any harder.
Request from Elliott @ google
|
| |
|
|
|
|
| |
ok deraadt@
|
|
|
|
| |
ok deraadt@ kettenis@ millert@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|