Commit Graph

248 Commits

Author SHA1 Message Date
martin
c79c3eed1d Make NAN a compile time constant (with help from the compiler). Suggested
by krister. Fixes PR 40695.
Make references to the old construct (which we can't remove for binary
compatibility reasons) emit a linker warning.
2009-02-22 01:34:01 +00:00
matt
cac8e44915 Add C99 functions imaxabs and imaxdiv. 2008-08-04 21:29:27 +00:00
rmind
7781a976a7 Avoid calling a syscall when argument to sbrk(2) is zero.
OK by <ad>.
2008-07-02 20:07:43 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
dsl
3ba44b945b Reorder the code for i386 and amd64 syscall stubs so that the 'jc' on error
is a forwards jump instead of a backwards jump that a P4 will mispredect (and
probably immediatly get a cache-line miss due to the way the code gets
aligned).
2007-11-23 07:36:05 +00:00
ad
51a2159851 Don't unconditionally clear the direction flag. The ABI says it must always
be clear when making a function call, and 'cld' takes about 50 clock cyles
on the P4.
2007-11-12 18:41:59 +00:00
ad
3cac6dbb47 If I686_LIBC is defined, make syscalls using the 'sysenter' instruction. 2007-03-09 14:30:45 +00:00
christos
12287894d6 ext_int bit is no more. 2007-02-02 23:18:57 +00:00
christos
0449ecc079 since the int bit is merged, do the explicit math. 2007-02-02 23:14:09 +00:00
drochner
58bd20f660 if setcontext(2) returns, _exit(2) with a return code of -1 instead
of relying on a sensible return value
2006-11-08 21:16:40 +00:00
drochner
ac9d7f2faf -check for a NULL uc_link before calling setcontext(2); do a real exit(3)
instead with exit handlers and all that
-If setcontext(2) returns (which it shouldn't), do an _exit(-1) rather
 than relying on a sensible return value to use as exit code. Makes
 it less likely that an ucontext corruption goes unnoticed.
2006-11-08 20:28:03 +00:00
jld
e8ef331ffa Fix PR 34112, where a program could mysteriously exit on return from a
signal handler, by deriving the context pointer from the stack pointer
instead of trying to read it from where the sigaction function may have
overwritten it with arbitrary bits.

Fix provided by Matthias Drochner in the PR.
2006-08-02 04:18:48 +00:00
drochner
4502979a72 Build just the compatibility versions of frexp()/ldexp()/modf(), the
real implementation is in libm.
2006-06-27 18:19:57 +00:00
uwe
46daac62de G/c KMSRCS and KMINCLUDES now that we have common/lib/libc 2006-06-17 18:04:23 +00:00
mrg
fd07545586 in makecontext(), sp is unsigned * so don't assign signed *'s to it. 2006-05-11 00:34:44 +00:00
drochner
f81322cf18 build erand48_ieee754.c on everything but vax 2006-03-22 22:03:58 +00:00
kleink
bc89c06cbf Add strtof(3) and strtold(3); welcome libc 12.137. 2006-03-15 17:35:17 +00:00
christos
b1732b7a63 make these consistent. 2006-02-19 05:06:02 +00:00
kleink
804e6c96a2 Add machine-dependent definitions for gdtoa. 2006-01-25 15:33:28 +00:00
christos
e5548b402a Use reach-over sources from common/lib/libc 2005-12-20 19:31:47 +00:00
dogcow
7048389b15 restore missing .S sources that disappeared in the last commit. 2005-10-06 08:37:56 +00:00
christos
f5df298a97 _setjmp and _longjmp are not compat functions. Noticed by Havard Eidnes 2005-10-05 20:16:43 +00:00
christos
d23b4c02bd This is not used anymore; pointed out by uwe. 2005-09-15 21:56:30 +00:00
christos
5b84b3983f compat core reorg. 2005-09-13 01:44:08 +00:00
rpaulo
afc37a8433 Fix another typo in comments found by Ricardo Nabinger Sanchez
on the freebsd-arch mailing list.
2005-08-03 22:59:50 +00:00
rpaulo
2310089ccf Fix typos found by Giorgos Keramid and Steve Kargl on freebsd-arch mailing
list. They were found on libc x86_64 MD code, but I noticed that they are
present on i386 too.
2005-08-02 14:25:40 +00:00
lukem
88c3eadbfa Add missing __RCSID() 2005-06-12 05:21:25 +00:00
kleink
b2cb7fcd8a Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.

IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
2005-04-15 22:39:10 +00:00
christos
1c6d713c7d New strcpy.S from jtc. This should have been committed together with the
rest of the string changes before.
2005-03-15 15:16:59 +00:00
christos
e816a03a29 Bring back the head versions. Apparently the problem is a pkgsrc issue
unrelated to strings.
2005-02-09 18:15:16 +00:00
christos
122f93c73b Revert everything to 2005-02-03 until the code is properly tested. Building
kde3 breaks with the head code.
2005-02-07 05:22:51 +00:00
christos
dbbaa0dafa PR/29248: Geoff C. Wing: memchr broken after latest commit.
Apply fix submitted by jtc: The problem was that his regression tests
never checked for characters with the high bit set. Change movl to movzbl
where it was not done yet. In addition strrchr.S missed a jump to Lzero.
2005-02-06 18:36:32 +00:00
drochner
dfc9e068c7 switch to J.T.Conklin's optimized str* functions
(submitted per PR i386/25263)
2005-02-04 18:12:52 +00:00
dsl
3fd6225eec Pull optimised code from memcpy.S
Maybe bcopy can be killed one day...
2005-02-03 22:35:11 +00:00
dsl
2c19ca7c2b Bring code in from obsolesent bcopy.S
Optimise to avoid mis-predicted braches and 'rep movsb' for small %cx.
2005-02-03 22:31:44 +00:00
dsl
781e1351cd A faster implementation.
'rep stos' is slow to setup on modern processors, so don't use it to
align the transfer.
Also not that 8 byte alignment is faster on Intel processors
2005-02-03 22:05:01 +00:00
drochner
0341f6a45e the WARN_REFERENCES text "include <signal.h> for correct reference" is pointless
as <signal.h> won't help you, so remove it
2004-03-26 22:15:03 +00:00
drochner
87d87e87fe no need to define __HAVE_SIGINFO anymore 2004-03-26 21:29:07 +00:00
drochner
cd85223ee2 save errno while trying to install a !SA_SIGINFO trampoline -- this
is expected to fail with !COMPAT_16 kernels, and we shouldn't
overwrite errno in this case
2004-03-23 16:19:40 +00:00
kleink
8e54f10bf7 * Turn isinf(3) and isnan(3) into C99-style macros.
* Make it possible for ports to override these (i.e., VAX).
* Remove isnanl(), which was internal to libc only.
2004-03-04 23:42:38 +00:00
kleink
d82e732345 Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros. 2004-01-15 19:43:44 +00:00
kleink
0a97d0875b C99 7.12.3.2: add library portions of isfinite, but don't build these just
yet.
2003-10-29 20:03:51 +00:00
kleink
75327729a2 C99 7.12.3.1: add IEEE library portions of fpclassify. Don't build these
yet as the VAX implementation is still subject to discussion.
2003-10-28 22:05:37 +00:00
kleink
964d6747b5 Err, rename some members added in previous to make them reflect their
semantics better.
2003-10-27 01:11:46 +00:00
kleink
5976f8aa56 Retire local union { floating-type; struct ieee_prec; } in favor of those
available from <machine/ieee.h>
2003-10-27 00:05:46 +00:00
kleink
9f3dbee22c Add __infinityf and __infinityl, float respectively long double analogs
of __infinity.
2003-10-25 22:31:20 +00:00
kleink
044354301a Update to account for separate handling of the explicit integer bit;
simplifies a little.
2003-10-25 21:42:07 +00:00
kleink
712c8de209 * Since there is no single portable IEEE 754 format for a long double,
keep a common implementation of isinfl() and isnanl() to be used by
  platforms where `long double' == `double'; move others into
  machine-dependent code.
* In due course, consider __VFP_FP__ on arm.
2003-10-24 00:58:01 +00:00
christos
7152fa1070 use matt's powerpc implementation. It is simpler than mine, and it does
matter as far as performance goes.
2003-10-12 04:23:17 +00:00
christos
ab0a78e1a7 - don't define __LIBC12_SOURCE__
- need to SIG_IGN SIGSYS for the version check
- simplify code
2003-09-12 20:42:15 +00:00