| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
it can be used for not-strictly-threading purposes
ok matthew@ kurt@
|
| |
|
|
|
|
|
| |
on this historical behavior; so we're stuck in this stupid situation.
No cookie for me.
|
|
|
|
| |
them in libc for a very long time. OK guenther@.
|
|
|
|
|
|
| |
On mips64, also correct the name called from plain cerror to __cerror.
"looks correct" miod@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
local registers for a few temporaries. This was changed to use two global
registers. Maybe to permit use in-kernel without conflicting with the
register V7 register window handlers. (Was this done by Chris Torek? Is this
related to Gordon Irlam's work? Or was it in NetBSD? Hard to tell because
NetBSD removed their original cvs tree.)
In V8 the ABI was tightened; more global registers became offlimits in
different ways. We started supporting sun4m, and did not consider this.
As a result, the global registers chosen are the wrong choice. In
particular, %g7 is a poor choice for upcoming TLS work. It looks like
it is safer to use %g5 and %g6 since these functions are "system software".
All re-entrant parts of the system save it.
On sparc64 these functions are in libc per ABI requirement, but are unused.
On sparc, they occur in bootblocks (no reentrancy), kernel (reentrancy saves
globals; kernel is not ABI compliant), userland libc (signal handlers save
globals), and ld.so (symbol binding is not re-entrant on its own).
Discussed rather extensively with guenther, kettenis, miod and drahn.
|
| |
|
|
|
|
| |
are available. spotted by theo
|
|
|
|
|
|
| |
- remove frexp in hppa64, cloned from hppa
- move generic ieee754 implementations of modf and ldexp to gen
ok kettenis@, "looks good" millert@
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- make long double versions weak aliases to double versions,
on archs where long doubles are 64 bits
- no need to have two finites. finite() and finitef() are
non-standard 3BSD obsolete versions of isfinite. remove
from libm. make them weak_alias in libc to __isfinite and
__isfinitef instead. similarly make 3BSD obsolete versions
of isinf, isinff, isnan, isnanf weak_aliases to C99's
__isinf, __isinff, __isnan, __isnanf
- bump major
ok millert@
|
|
|
|
|
| |
drahn@ but tweaked to use same scratch reg as PIC_PROLOGUE.
okay miod@ drahn@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- is{inf,nan} should be macros for real-floating, so rename to
__is{inf,nan}, per C99
- implement C99 __fpclassify(), __fpclassifyf(), __isfinite(),
__isfinitef(), __isnormal(), __isnormalf(), __signbit(), __signbitf()
- long functions added, but not yet enabled, till ieee.h is fixed
- implement vax equivalents of the functions
- reimplement isinff, isnanf in a better way, and move to libc
- add qnan bytes for all archs
- bump major
man pages will follow
ok millert@. arm bits looked over by drahn@
discussed w/ theo, who showed the right direction, to put these
functions in libc
|
|
|
|
|
|
|
|
|
| |
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
| |
|
|
|
|
| |
stuff to LSRCS
|
|
|
|
| |
which caused all negative numbers returned to be == -1.
|
| |
|
|
|
|
|
| |
for this first cut, we will do this for alloca() using alloca.c by
adding it to LSRCS
|
|
|
|
| |
okay deraadt@ (tested them all)
|
|
|
|
|
|
| |
no need to have a copy for each platform with ieee floating point,
only vax needs a special version (which probably has similar bugs).
OK and with help from otto@
|
| |
|
|
|
|
| |
values with the high bit set. ok kettenis@ jason@
|
|
|
|
|
|
|
|
|
| |
since the latter is not reliable in all cases.
This allows ruby to work on sparc64.
Problem spotted by claudio@; fix adapted from NetBSD for sparc, FreeBSD for
sparc64; ok deraadt@
|
|
|
|
|
| |
department: cast 'i' to u_int64_t so the sign comparison actually
makes sense. Any other bugs in here just ship in the release, I'm done.
|
| |
|
|
|
|
| |
to a program's health, avoid it. ok deraadt
|
|
|
|
| |
pointed out by Mark Kettenis, kettenis,chello,nl
|
| |
|
|
|
|
|
|
|
| |
now we just have to cope. Since setjmp uses it, the alpha and sparc64 are
unhappy with the structure change. In a few days, we will make the second
hop here, for now, use the old system call until all binaries have the new
struct in them.
|
|
|
|
| |
ok deraadt@
|
|
|
|
| |
until a forthcoming gcc patch is in place).
|
| |
|
|
|
|
| |
NetBSD's kernel emulation stuff). Not enabled yet.
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
|
|
|
| |
version. Normally, gcc provides its own alloca() (unless -fno-builtin
is specified). The C version is decidedly suboptimal--we really
need proper assembler versions but this will work as a stop-gap
measure.
|
| |
|
|
|
|
| |
(based on netbsd pr 20140)
|
|
|
|
| |
still using -traditional-cpp.
|
| |
|
| |
|
|
|
|
|
| |
and provide the real name as a weak alias.
This is the last piece needed for libc_r on sparc64 (plus debugging).
|
|
|
|
| |
This fixes sigsetjmp()/siglongjmp() on sparc64
|
|
|
|
| |
bulk of work done by miod.
|
|
|
|
| |
and is _not_ supposed to do "call"s.
|
|
|
|
|
|
|
| |
to 'as' to make it compile pic. add defaults for sparc64 which needs picflags
set to -fPIC and ASPICFLAGS to -KPIC.
Also simplifies the systemcall generation for sparc64 PIC mode.
ok epsie@.
|
|
|
|
|
| |
XXX - The fix should be the other way around - make all other archs match
sparc64.
|
| |
|