Commit Graph

142 Commits

Author SHA1 Message Date
itohy 1d0a433095 ELF PIC support. 1999-10-18 03:24:28 +00:00
itohy 29215efa45 ELF PIC support.
Small optimization.
1999-10-18 03:22:14 +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
mycroft 5579a03f91 Nuke unused variable. 1999-08-30 16:48:07 +00:00
mycroft 6b221be206 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:50:25 +00:00
mycroft c3140da584 Oops; committed wrong version here. 1999-08-29 19:42:54 +00:00
mycroft f784c98496 Reimplement the FSCALE version as C-with-assembler. (Make the compiler deal
with ABI crap.)
1999-08-29 19:41:53 +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
kleink 5b2a4f0824 Call cerror through the PLT. 1999-05-02 23:19:49 +00:00
kleink 18d5ba6151 We can shave off a register-register move when using the SVR4 ABI: __errno()
will return its pointer result in a0.
1999-05-02 20:52:02 +00:00
kleink 4e0adc06d5 When using the SVR4 ABI, return pointer results in a0, too. 1999-05-02 20:34:04 +00:00
kleink 1bd013aa27 Oops, typo. 1999-05-02 20:18:17 +00:00
kleink d658cafb30 When using the SVR4 ABI, just return floating point values in fp0. 1999-05-02 20:17:20 +00:00
kleink bcd9993e4e When using the SVR4 ABI, return the pointer in a0, too. 1999-05-02 20:09:29 +00:00
kleink b74f892f6d Declare cerror using _ENTRY() to get, among other things, a .type statement. 1999-04-29 15:37:21 +00:00
mycroft 2b504929fa Just some minor cleanup. 1999-03-10 08:15:43 +00:00
mycroft f1c544b6a8 Use ieee.h structs and macros. 1999-03-10 08:14:44 +00:00
is 3fafc185a5 68060 optimization, doesnt hurt others 1999-02-08 22:00:13 +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
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
kleink ad0a7279e9 Add *__errno() redirection for _REENTRANT code. Also, some movel vs. movl
consistency.
1998-10-06 19:05:26 +00:00
kleink 9849eb57f8 Declare one of {__errno,errno}, depending on _REENTRANT. 1998-10-06 18:56:25 +00:00
thorpej 4359863000 Update for signal changes. 1998-10-05 02:34:18 +00:00
perry 73e9c49b2b add memmove.S to libkern. 1998-08-04 01:24:59 +00:00
mycroft 982e920022 const poisoning. 1998-07-26 14:13:00 +00:00
thorpej d5bc168ba9 Use _C_LABEL() to generate C labels. 1998-07-01 06:44:14 +00:00
mycroft 0b15d23837 Copy more files to libkern. 1998-02-22 08:40:37 +00:00
perry a3a46419b5 RCS Id Police. 1998-01-09 03:45:03 +00:00
thorpej bedc7b48df Add syscall stubs for __vfork14(). These are basically copies of Ovfork.S
with the syscall numbers changed.

Since 4.4BSD vfork(2) did not share address space, Ovfork.S could be changed
to be identical to fork.S (modulo syscall numbers).  __vfork14.S, however,
needs to remain separate since with a shared address space, the stub needs to
pre-decrement the stack and do an indirect jump to the return address, so that
the shared stackframe is still there when the parent returns.  (Obviously,
this does not apply to systems which to not build stackframes on leaf calls.)
1998-01-04 20:58:08 +00:00
thorpej f22bd47b81 Use __sigaltstack14(), not sigaltstack(). 1997-12-05 02:09:49 +00:00
cgd 4d7e773266 A foolish consistency... gen, net, and string all get MD sources
specified by including a Makefile.inc from the appropriate MD directory.
stdlib doesn't do that, but there's no reason that it shouldn't (and
it'd be nice to eliminate the 'if's from the MI stdlib Makefile.inc).
1997-11-05 22:59:37 +00:00
is eae488f7bb Fix typo, which resulted in always compiling the M68040/M68060-version
of ldexp.
1997-11-04 15:23:23 +00:00
is 31c3c1a2b3 Most calls of ldexp() won't be with a first parameter of 0.0. Don't penalize
them for a slight optimization of the zero case.
1997-10-09 20:06:18 +00:00
is e6cb27b508 ieee.h and ldexp.c taken from the powerpc port, for the benefit of
68040 and 68060 owners.
With ``make M68040=1'' or ``make M68060=1'', we build a libc where the ldexp()
doesn't use excessive amounts of system cpu time.
Without any of those defines, the normal assembler version using FSCALE is
included, for the benefit of M68020 and M68030 users, or M68040/M68060 users
where the ldexp performance is no bottleneck.
[Its not yet worked out how to include both library versions in a binary
distribution, but you can build your own from source now if you need it.]
For details, look at PR 3105.
1997-10-02 21:47:47 +00:00
jtc 9f3b240e5c Fix files using old TNF copyright notice 1997-07-30 23:50:37 +00:00
jtc 5dbbebc601 Revert last change, some folks have reported problems 1997-07-24 19:10:38 +00:00
jtc 5e436cd360 Use insn sequence found by superoptimizer to compute return value. This
avoids the relatively expensive scc and ext instructions.
1997-07-21 13:56:10 +00:00
veego f58c16ffe9 Remove the duplicated __builtin_saveregs function.
We only need it in src/gnu/usr.bin/gcc/libgcc/libgcc2.c.
1997-07-14 21:04:43 +00:00
christos e80ba636a1 Builtin saveregs returns void *, not void. 1997-07-14 19:36:44 +00:00
christos b9af52952a Add missing prototypes. From Bernd. 1997-07-14 02:13:56 +00:00