Age | Commit message (Collapse) | Author |
|
as it forces a pipeline synchronization; replace it with a bcnd + unconditional
trap, to only synchronize when the trap is needed.
|
|
|
|
(as gcc does not emit code calling them), but will be shortly; belatedly
riding the libc minor bump.
|
|
-fPIC. Harmless since we build libc -fpic so far.
|
|
slot in the branch to cerror, for the delay slot instruction would also run
as part of a successful return. Doh. Fortunately almost nothing in the tree
uses brk() or sbrk() anymore... but binaries linked against libiberty.
|
|
fact that #128 and #129 may also be used for this purpose was never documented,
so there is no reason to have libc use #128. Switch to #450 for consistency.
|
|
the GOT pointer. Oops.
|
|
Doh!
|
|
Make the code PIC-aware when necessary (i.e. invoke other functions through
the PLT, and access global data through the GOT). No change for non-PIC
compilation.
|
|
both -fpic and -fPIC.
|
|
|
|
|
|
for 15 years or so (sigcode, of course, was correct).
|
|
floats on m88k. Agreed by miod@.
|
|
|
|
mask of zero (because of flawed logic assuming finding zero in the sigjmp_buf
signal mask means sigsetjmp was invoked with a zero `savemask' argument).
While there, clean comments of all *{set,long}jmp routines, and shave a few
instructions by using bcnd insead of cmp + bb to test for zero values.
Passes the regress tests, and now devel/libsigsegv configure siglongjmp test
will not spin (this test is however flawed as it expects a signal handler
declared as running on the sigaltstack and `returning' through siglongjmp to
be invoked on the signal stack the next time the signal is raised).
|
|
It turns out <float.h> is the right file to pull in.
ok millert
|
|
so that it can't get a signal while still running on the parent thread's
stack. Also, pass in sizeof(struct __tfork) to provide forward compat
when more members are added. This is an ABI change, so switch syscall
numbers and bump lib majors this time.
ok deraadt@ matthew@
|
|
|
|
|
|
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@.
|
|
ok miod
|
|
On mips64, also correct the name called from plain cerror to __cerror.
"looks correct" miod@
|
|
|
|
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@
|
|
- 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
|
|
arguments from the stack, since the kernel will now copyin() them when
necessary.
This makes all system calls (but mmap()) slightly faster.
WARNING! After this commit, your binaries must run against a kernel
featuring m88k/m88k/trap.c r1.34 or better - i.e. a 4.1 or later kernel.
|
|
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@
|
|
the ABI change.
|
|
|
|
|
|
more than one bit is set, as the ff1 instruction counts from the highest
order.
However, gcc/m88k with optimization enabled would use a correct, short
sequence based upon ff1 and tweaks, to achieve the intended result, hence
i did not catch this flaw initially.
So revert to the C implementation - it is correct, still decently fast, and
will only be used when compiling at -O0.
|
|
|
|
ok deraadt@
|
|
sigsetjmp(foo, !0) to work. Sigh.
|
|
|
|
|
|
|
|
|
|
they are part of the call preserved register set, and gcc -O relies upon this.
|
|
Gets us a working perl 5.8.
|