martin
5265977a9e
When converting long double values to integer types, explicitly use the
...
"round to zero" variants of the softfloat conversion functions.
Add a variant to convert long double to unsigned long - the "to long"
variant checked for overflows that do not apply to unsigned results.
This fixes the regress/lib/libc/convfp tests for sparc64.
2007-11-08 15:50:19 +00:00
martin
f666b179b1
After discussing this further with uwe, rearange stack usage slightly and
...
replace a comment with words suggested by him.
2006-12-27 13:40:56 +00:00
martin
520e5c8f6a
When setting up the __clone()'s userland stack, make sure to allocate
...
an initial frame. Fixes PR 33075.
2006-12-25 21:44:37 +00:00
martin
2cb7656bf1
Pull over rev. 1.5 of the i386 version (../../i386/resumecontext.S),
...
quoting Matthias Drochner:
> -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.
This also fixes regress/lib/libc/context for sparc64.
2006-12-08 15:51:45 +00:00
drochner
5ea27734ec
build frexp_ieee754 and ldexp_ieee754 in the "compat" subtree
...
(There is an assembler version of modf which needs to be checked.)
2006-07-03 13:06:12 +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
340a97942e
if SOFTFLOAT_FOR_GCC is not defined, don't declare float_detect_tininess.
2006-05-11 23:53:14 +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
perry
ce666bb8ce
__asm__ -> __asm
2005-12-24 23:10:08 +00:00
perry
4e11af46bc
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
2005-12-24 21:11:15 +00:00
christos
e5548b402a
Use reach-over sources from common/lib/libc
2005-12-20 19:31:47 +00:00
christos
4c7dd80367
rename the files in gen like we did for i386.
2005-10-16 17:15:38 +00:00
christos
180e99b5f3
Bring sparc64 to the new compat layout.
2005-10-16 04:41:34 +00:00
martin
699dc5a659
Add missing <compat/..> include
2005-09-13 09:52:17 +00:00
lukem
88c3eadbfa
Add missing __RCSID()
2005-06-12 05:21:25 +00:00
jmc
9de49396cd
Don't use 'm4' here. Use $TOOL_M4 instead.
2005-04-20 18:26:11 +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
martin
528e949b20
Replace the stack unwinding by a much simpler solution taken from
...
../../arch/sparc/gen/_setjmp.S rev. 1.6. This ended up to be ~identical
to the OpenBSD change triggered by the same sparc change.
Thanks to Stoned Elipot for pointing out the problem.
2004-12-07 08:20:07 +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
67f778a2c4
fix references to the syscall formerly known as SYS___sigreturn14
2004-03-26 19:36:40 +00:00
pk
8a0244288a
Call PIC_PROLOGUE only once.
2004-03-23 19:07:40 +00:00
pk
dc7908cc61
Store the correct boolean value in sc_onstack.
2004-03-23 18:54:03 +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
martin
f85414fd31
Simplify slightly and fix a comment.
2004-03-22 18:35:51 +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
martin
dff5a86b96
Too sad - inlining syscall stubs on sparc64 is so much easier than doing
...
PIC calls to the libc stubs, but unfortunately we need to do the latter-
otherwise we break weak symbol semantics and make libpthread fail.
Thanks to Christian Limpach for the analyzis.
2004-01-19 18:33:21 +00:00
martin
f04f3a62db
Forgot to mention in last commit message: remove some accidently commited
...
debug code.
2004-01-19 18:20:35 +00:00
martin
fd70c1464d
Unfortunately we can not restore the signal mask with setcontext() - this
...
breaks libpthread, which tries to intercept the weak sigprocmask symbol.
So use an explicit sigprocmask call instead.
2004-01-19 18:19:33 +00:00
martin
e032233866
Store the "signal mask saved" flag at the end of the jmp_buf - we now use
...
more of it than before (and I bet the old place just is a non translated
32bit sparc value).
2004-01-19 18:17:21 +00:00
martin
2f3e9d2cf8
Avoid using the depreceated __sigreturn14 for longjmp by adapting
...
Christian Limpachs arch/m68k implementation using setcontext().
2004-01-17 22:01:15 +00:00
kleink
d82e732345
Add C99 fpclassify(), isfinite(), isnormal(), and signbit() macros.
2004-01-15 19:43:44 +00:00
martin
ba54915063
Fix two inverted comparisions and a few comments.
...
This makes sparc64 pass the sigsetjmp regression tests.
2004-01-02 22:30:36 +00:00
martin
97ab4e62e3
Restore stack frames on error exit. This makes us pass dynamic and static
...
linked versions of the clonetest regression test.
While here, some cosmetics: branch prediction, avoid depreceated instructions.
2004-01-02 14:06:51 +00:00
martin
586bc581af
Use CC64FSZ instead of magic constant for stack frame size.
...
Frob the clone's stack pointer to be BIASed - it is 64 bit code too.
Use "carry set" as test for a failed syscall.
2003-12-31 15:56:26 +00:00
martin
269c3e3d2b
Use an unsigned comparison against minbrk.
...
From OpenBSD, changed by Miod Vallat.
2003-12-26 11:21:48 +00:00
nakayama
8fc6819ddd
Corrent map order to match sparc/ieeefp.h.
2003-11-01 14:26:29 +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
christos
5f4474073a
Explain the stack layout correctly now that that I understand it :-)
2003-10-27 02:33: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
christos
6664eb5f2d
Add __sigtramp2
2003-10-27 00:46:05 +00:00
christos
d9676dda89
Signal trampoline stuff for siginfo.
...
XXX: I don't understand why I am off by 48 bytes.
2003-10-27 00:45:36 +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
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
agc
eb7c1594f1
Move UCB-licensed code from 4-clause to 3-clause licence.
...
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00