Commit Graph

76 Commits

Author SHA1 Message Date
pooka 65ec9d356d Don't clobber callee save registers r12 & r13 in swapcontext. They
were saved in the stack, but the subsequent swapcontext would return
to the earlier stack frame and never restore them.  Fixes puffs
with default compiler flags on amd64.

Thanks to Mihai Chelaru for providing access to an amd64 machine
for debugging this problem.
2007-04-12 12:33:26 +00:00
ad a99fcd719d Remove an obsolete comment. 2007-03-08 13:46:31 +00:00
christos 12287894d6 ext_int bit is no more. 2007-02-02 23:18:57 +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
drochner 3379c1c805 replaced by code in libc/compat/gen 2006-07-03 13:20:19 +00:00
drochner 46b4d67318 build {frexp,ldexp,modf} in the "compat" subtree
(Drop the modf assembler version. We have the same code in libm.)
(Drop the ldexp inline-assembler version. The same code is in libm as
scalbn; the ldexp there is just a wrapper providing error handling.)
2006-07-03 13:13:53 +00:00
uwe 46daac62de G/c KMSRCS and KMINCLUDES now that we have common/lib/libc 2006-06-17 18:04:23 +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 edc071d5b4 remove files moved to the new compat layout. 2006-03-11 19:02:16 +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
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 270bc85b33 Fix typos found by Giorgos Keramid and Steve Kargl on freebsd-arch mailing
list.
2005-08-02 14:20:49 +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
ws 4aa5370862 Use correct stack offsets after pushing values onto it. 2004-12-01 01:08:18 +00:00
drochner 0ca4ad479d fix alignment check for source
should fix PR port-amd64/26416 by Nicolas Joly
2004-07-26 18:51:21 +00:00
drochner 07d87c5c6e replace the str*() functions by speed optimized versions, submitted by
J.T. Conklin per PR port-amd64/25411
2004-07-19 20:04:41 +00:00
drochner 606b8ac15b disembowel -- there is no kernel support anyway 2004-03-26 19:26:23 +00:00
drochner 65626c5d91 kill sigcontext passing to signal handlers, we don't have to worry
about compatibility
2004-03-25 14:21:29 +00:00
drochner a8c94ef1d3 simplify: it doesn't need an i387 to kill a sign bit 2004-03-23 17:11:35 +00:00
drochner 3219cdc550 replace the last occurence of an "int 0x80" syscall 2004-03-23 16:33:47 +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
drochner ca430e5111 Really, there is no need to use the old int0x80 syscall entry just for
getcontext(). There are some registers not properly saved with the
new syscall entry, but these are calee-saved, scratch or meaningless.
It's the setcontext() return path what matters.
2004-03-09 20:21:22 +00:00
drochner 294b4fa9f2 we also have to reset bits in the i387 status
as required
2004-03-09 17:16:13 +00:00
drochner b79602af35 -clear status bits in mxcsr as required
-return the old accumulated status bits
2004-03-05 16:27:56 +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
drochner e9ee155221 Get the stack alignment right: the stack arguments must start
at a 16-byte aligned address, the return address is at an
"odd" address.
approved by fvdl
2004-02-28 15:57:21 +00:00
drochner a839ccc650 alignment trouble: uc_link is at offset 8 2004-02-27 21:23:05 +00:00
drochner 37d3fd292f the char we fill with shouldn't be sign-extended
(the way the length argument is dealt with looks suspicious
too, but this would only have an effect for >=2G fields)
this can probably be optimized...
2004-02-26 20:50:06 +00:00
drochner 3cac582c48 fix copyback from fp stack - we need 64 bits 2004-02-26 19:19:06 +00:00
matt 3d2a90fb95 Make this compile. 2004-01-18 19:33:01 +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
matt a54bd8931a Fix tpyo. (ieee854 -> ieee754) 2003-10-28 01:24:06 +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 c6126e1095 Sync with i386:
Update to account for separate handling of the explicit integer bit;
simplifies a little.
2003-10-25 21:48:34 +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
fvdl 9f7abac970 Use the int 0x80 path for context system calls. 2003-10-18 22:47:37 +00:00
briggs 7931285ae1 Need a couple more headers for the last change. 2003-10-18 20:11:04 +00:00
briggs 6646629469 Sync with the i386 version. 2003-10-18 18:36:35 +00:00
fvdl 2b9ab2aab8 Get ucontext pointer back out of callee-saved register %r15. 2003-10-17 16:23:20 +00:00
fvdl 4da2d7565d Userland amd64 siginfo support. 2003-10-06 22:57:23 +00:00
fvdl 6f517be9eb Return the right value for modf(). Fixes PR 22503. 2003-08-16 21:45:50 +00:00