Commit Graph

54 Commits

Author SHA1 Message Date
eeh e21d458f48 Don't flush the zero-ed data from the cache. 2001-02-10 23:35:41 +00:00
martin 772baecb3a Add simple __syscall.S to make libc compile on sparc64 again. 2000-12-13 20:25:04 +00:00
eeh 5d73d71676 Fix modf() (I hope. Can't be any worse than the old version.) 2000-11-01 23:32:41 +00:00
kleink 82fd76bb06 Need an internal name for pipe(2). 2000-09-28 08:38:53 +00:00
msaitoh f9b799b651 check LIBC_SCCS 2000-09-13 22:32:25 +00:00
eeh d3312c2719 Fix layout of fields in jmp_buf. [N.B. we could make JMP_BUFLEN 9 if we want.] 2000-08-28 00:45:59 +00:00
eeh 9c2bf87977 Need to reserve a full 64-bit stackframe, not a 32-bit one. 2000-07-26 00:53:50 +00:00
mycroft 01a39929fc Store the whole 64-bit pointer... 2000-07-25 20:15:40 +00:00
mycroft fb41c8728c Use cpp comment style. 2000-07-25 15:14:45 +00:00
mycroft c54917029b Make __dtoul() actually DTRT. The calling convention was totally wrong, and
the `big' value should be 2^63, not 2^31.
Also, nuke __fixunsdfsi(), since this is never output by the sparc64 compiler.
2000-07-25 04:26:12 +00:00
mycroft 4272204d8d Offset the %i2 stack slot from %sp, not %fp. Otherwise we may modify the
caller's registers!
2000-07-24 15:36:49 +00:00
mycroft fc590aafb4 There's no good reason not to assume a 64-bit stack here. 2000-07-24 15:24:55 +00:00
mycroft eded30220a Don't bother saving %f16-%f31, since we don't use them. 2000-07-24 07:30:54 +00:00
mycroft b3e75eb4ed _errno -> __errno 2000-07-24 00:11:10 +00:00
mycroft e740400671 Just use a store/load pair to get the pattern into the FP reg. This eliminates
a bunch of cruft and avoids using a v9a instruction.
In addition, eliminate 8 of the fmovda's, which we are not using the result of
anyway.
Net result is that this should be faster in all cases.
2000-07-23 20:34:07 +00:00
eeh 32ceb997a8 Fix stack BIAS issues. 2000-07-23 07:12:22 +00:00
eeh e507cc60e6 Update some more assembly code for PIC issues. 2000-07-21 03:14:15 +00:00
eeh 067b7521b5 Fix PIC bugs. 2000-07-18 22:38:11 +00:00
eeh 1b72cecb45 Block align pointer *AFTER* fixing up possible stack bias. 2000-07-08 16:02:15 +00:00
itohy af83a97717 Add special treatment of shmat(2).
On m68k ELF calling standard (__SVR4_ABI__), if a function
returns a pointer, the return value should go to a0 as well as d0.
2000-07-07 08:20:50 +00:00
kleink b8a4d7adf9 Need an internal name for fork(). 2000-06-26 06:32:54 +00:00
kleink 2234f31b26 Add a _SYSCALL(entry,syscall) macro like the one found on other
architectures.
2000-06-26 06:31:37 +00:00
kleink 15bc7ed349 Thinko in previous: we do always use an internal name. 2000-06-26 06:25:36 +00:00
kleink 03f996bd0c Add internal names for brk() and sbrk(). 2000-06-23 15:40:36 +00:00
kleink e4d7c2e329 Add ISO C99 long long integer general utility interfaces; partially addresses
PR standards/9482.
2000-03-06 18:32:22 +00:00
mycroft c26054b799 Delint. 2000-01-22 22:40:58 +00:00
eeh 0ba088f0a3 New bzero() using block store insns. 1999-12-30 15:31:39 +00:00
eeh d1b815fe32 Sample code to implement ffs() using the popc insn (if it's ever implemented). 1999-12-30 15:30:26 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
mycroft b3b07a4c6e Another microoptimization. Take advantage of the addition already having set
the flags for the <=0 comparison.
1999-08-30 18:28:24 +00:00
mycroft 0560606383 Reuse the trick of loading 0.0 (rather than 1.0) and then modifying the
exponent.  It's a bit faster on some machines.
1999-08-30 18:01:40 +00:00
augustss 75d2dfe657 Remove more unused mulexp variables. 1999-08-30 15:11:32 +00:00
mycroft 5f34ffabca ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
cases.  Totally rework this code to fix this bug *and* make it faster.
1999-08-29 22:45:32 +00:00
mycroft 02a48bde49 Don't ever return -0.0. 1999-08-29 19:04:02 +00:00
mycroft 0d708431b7 Minor style change. 1999-08-29 18:40:50 +00:00
mycroft ea4b733810 Trivial KNF. 1999-08-29 18:39:35 +00:00
mycroft 099dd01a1d Make the C version of frexp() consitent across platforms, and handle the
Inf/NaN case.
1999-08-29 18:30:14 +00:00
mycroft 17030e8106 Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h. 1999-08-29 18:08:27 +00:00
thorpej 30dca7f7db Add __msgctl13(), __semctl13(), and __shmctl13() (symbols are __RENAME()'d
in their respective header files).  Add PSEUDO stubs for the old versions
of these system calls.

Note that __semctl13() doesn't require the extra stub that the old
semctl()/__semctl() did, as the SUSv2 version takes variable arguments,
and thus does not require the extra indirection.
1999-08-25 05:09:27 +00:00
eeh 713a1d89ff Add _dtoul() which gcc generates a lot. Maybe it should go in another file. 1999-04-04 21:01:39 +00:00
kleink 5af7e7a902 Change references to `end' to `_end' as not to invade (or being invaded by)
the user's name space.
1999-03-31 11:53:07 +00:00
mycroft 2b504929fa Just some minor cleanup. 1999-03-10 08:15:43 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
kleink 6348b7d5b5 * On architectures using ELF, and conditionally on those in transition, rename
_ASM_LABEL(cerror) and _ASM_LABEL(curbrk) to _C_LABEL(__cerror) and
_C_LABEL(__curbrk) (or their respective architecture-specific equivalents) to
avoid possible name clashes with identifiers used in user applications.
* Do the same for minbrk on all architectures to avoid a GCC-specific (and
on ELF architectures effectively useless) symbol reference renaming in MI code.
1999-01-14 22:48:18 +00:00
eeh ff34887c45 More fixes to signal handling code... 1999-01-03 16:22:04 +00:00
thorpej efd37a7da8 Warn about references to the compatibility vfork() (i.e. the vfork() with
the 4.4BSD non-shared-address-space semantics), and direct the user to
include <unistd.h> to generate the correct reference.

This warning isn't about an ABI compatibility issue, but the new vfork() is
considerably faster.
1998-12-02 19:29:56 +00:00
thorpej e644246e6a Warn about references to the compatibility() sigaction(), sigpending(),
sigprocmask(), sigreturn(), and sigsuspend(), and direct the user to
include <signal.h> to generate the correct reference.
1998-12-02 01:01:03 +00:00
christos 7c990e0c7b delint 1998-11-14 19:31:01 +00:00
kleink d541ca6d80 Need internal names for isinf() and isnan(). 1998-10-13 14:43:36 +00:00
eeh aba7891e3d Fix libc signal breakage (I hope). 1998-10-08 02:27:58 +00:00