Commit Graph

431 Commits

Author SHA1 Message Date
cgd ecb2fd7aad define INLINE to be "static inline" rather than "extern inline", so that
if this code is compiled without optimization the not-inlined functions
will be included (statically) in the object files, and now show up
as undefined references.
1998-01-22 07:14:17 +00:00
perry a3a46419b5 RCS Id Police. 1998-01-09 03:45:03 +00:00
perry 4e067afcb1 RCS Id Police. 1998-01-09 03:15:09 +00:00
perry fbdb247796 RCSID Police. 1998-01-05 23:54: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
matthias 8c90828457 Introduce ASSRCS. This is set to all the ns32k md assembler source files.
arch/ns32k/Makefile sets SRCS, LSRCS and DPSRCS from this.
1997-12-07 00:19:16 +00:00
matthias 1469ba0767 No longer in use. 1997-12-07 00:17:53 +00:00
thorpej f22bd47b81 Use __sigaltstack14(), not sigaltstack(). 1997-12-05 02:09:49 +00:00
thorpej 6efbfe5247 Make setjmp() work again after the changes to sigaltstack(). 1997-12-05 02:06:27 +00:00
tv eb96023de7 Quick fix to repair runtime link problem with libc - "SYS_sigaltstack
undefined".  The sigaltstack structure layout didn't actually change on
the sparc, so just change the syscall name.  A better fix would probably
be to replace the direct system call with a function call to the libc
sigaltstack().
1997-12-04 21:00:18 +00:00
mark 0053558a70 Fix a glaring bug in the assembly stubs for memcpy() and memmove() that
meant the src address was being returned rather than the dst address.
Spotted by Chris Demetriou.
1997-11-22 03:27:12 +00:00
thorpej cb96bff387 LintAlpha* have been removed. 1997-11-08 00:40:08 +00:00
cgd 435c105d59 lint stubs for assembly routines. 1997-11-05 23:37:06 +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
cgd 0f191bd9d2 remove these, they are no longer necessary or appropriate 1997-11-05 22:33:28 +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
phil 2c764d53fa Make it compile with WARNS=1. (I'm not sure where the prototype really
should be, but it does now compile.)
1997-10-27 05:28:46 +00:00
phil d27ec1e50a Get it compiling again in the WARNS=1 environment. 1997-10-24 06:26:39 +00:00
lukem 97ba901942 use CPPFLAGS instead of CFLAGS, ${COMPILE.c} instead of ${CC} ... -c 1997-10-22 23:21:46 +00:00
jonathan 8053fbfe3c Pull up endian-independent changes from locore, userland bcopy.S. 1997-10-20 09:31:37 +00:00
jonathan d9af5eb2f7 Pull up ambi-endian diffs from kernel bzero(). 1997-10-19 01:19:58 +00:00
jonathan 2698f7d137 Pull up endian diffs from kernel bcopy(). 1997-10-18 05:21:44 +00:00
jonathan 82526d56fd Prototype __flt_rounds(). 1997-10-18 02:43:06 +00:00
mark a2b5e07612 Include memmove.S in the list of sources. 1997-10-18 02:28:25 +00:00
mark fd06e9f4e6 Use the ASENTRY() macro for the declaration of cerror. 1997-10-17 19:57:17 +00:00
mark fb4d5f58af Fix extra 'S' character typo that resulted in the condition codes being
incorrectly internally on certain divides.
Handle the case where the internal result appears negative. This condition
can occur when dividing MIN_INT by certain values.
Raise an exception on divide by zero.
1997-10-17 18:43:47 +00:00
jonathan aae966edfa Cacheflush support code for mips CPUs.
Used by GCC's lexical-closure trampoline code.
1997-10-17 06:29:02 +00:00
mark a5efbaaf3f Fix -Wall compiler warnings. 1997-10-13 21:28:53 +00:00
mark e30acb582b Build softfloat support as standard. 1997-10-13 21:26:58 +00:00
mark 4b5476b492 Fix compiler warnings. 1997-10-13 21:24:15 +00:00
mark 309d2271d4 Implement soft-float support using the softfloat library from John Hauser. 1997-10-12 21:18:01 +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
lukem 2a55b0f192 rcsid police 1997-10-09 10:07:40 +00:00
jtc c8f77c0b8b Fix tipo inherited from old version of TNF copyright template. 1997-10-09 07:25:45 +00:00
mark 1f73d0c21a Added assembly files _memcpy.S memcpy.S memmove.S bcopy.S memset.S bzero.S 1997-10-06 00:40:31 +00:00
mark 6740365e8e Implement bzero() as a stub that calls memset(). 1997-10-06 00:39:25 +00:00
mark 45306416a8 Implement an assembly version of memset(). 1997-10-06 00:38:33 +00:00
mark 4cb1dd25c8 Implement standard libc memory copy/move functions as stubs onto the
assembly _memcpy() routine.
1997-10-06 00:37:51 +00:00
mark 65021679a3 Implement an assembly memory copy routine. 1997-10-06 00:35:50 +00:00
mark d581bfa372 Use machine/asm.h instead of DEFS.h
If SOFTFLOAT is defined provide glue to the softfloat functions.
1997-10-06 00:26:11 +00:00
mark e416694cf0 If SOFTFLOAT is defined provide glue for the softfloat rounding functions. 1997-10-06 00:23:54 +00:00
mark a0e35b1248 Use fpgetround() to get the current rounding mode. 1997-10-06 00:22:40 +00:00
mark 1302ae6654 Minor code cleanup.
Use machine/asm.h instead of DEFS.h
1997-10-06 00:20:28 +00:00
mark 9c99854d71 Minor code cleanups. 1997-10-06 00:18:30 +00:00
mark 591d03a899 Replaced by divsi3.S 1997-10-06 00:16:01 +00:00
mark d33af6fbb2 Replaces the divide routines in div.S 1997-10-06 00:15:32 +00:00
mark 5ecc353c4d Added assembly file divsi3.S 1997-10-06 00:12:24 +00:00
mark 4e7948694a Rewritten to support new jmpbuf format describe in machine/setjmp.h.
Use magic numbers to validate the buffers on a longjmp().
Don't save/load the fp registers if SOFTFLOAT is defined.
1997-10-06 00:10:32 +00:00
mark e08cd408b1 Added PIC support where required.
Cleaned out and dead / redundant code.
1997-10-06 00:07:09 +00:00
mark 9d64c268b2 Added assembly versions of the network <-> host byte order functions. 1997-10-06 00:03:13 +00:00
mark c465276e26 Added assembly versions of the network <-> host byte order functions from
Neil Carson <neil@causality.com>
1997-10-06 00:01:08 +00:00
mark ee681780be Removed redundant .text and .align directives. 1997-10-05 23:58:24 +00:00
mark 63025a1fe6 No longer needed, so axe it. 1997-10-05 23:56:49 +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
jonathan 68a9b35134 Do a .cpload if compiling with PIC.
Examining  the .so output from binutils 2.8 and 2.8.1 shows the
	li.d	$f2, 4503599627370496e0
is (incorrectly?) emitted as GP-relative loads when PIC is in effect.
1997-08-19 20:49:47 +00:00
jonathan cbb2b5d0fb Substitute Mach 3.0 kernel bcopy() which is unrolled for aligned copies. 1997-08-09 02:02:08 +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
phil b94cad931e Add missing quote (") at end of _RCSID argument. 1997-07-21 06:01:55 +00:00
thorpej 697496a1e7 Pull in __flt_rounds() prototype. 1997-07-18 05:10:02 +00:00
thorpej ef909f429a Pull in __flt_rounds() prototype. 1997-07-18 00:30:30 +00:00
kleink c5f0b6148d Fix typo from last commit: `bnlsr' vs. 'bnslr'. 1997-07-16 16:11:48 +00:00
christos 1394f01b4a RCSID fixes: Always use the NetBSD rcsid and the macro RCSID() defined in
<machine/asm.h>; Also syscalls should be protected using the SYSLIBC_SCCS
define not LIBC_SCCS
1997-07-16 14:37:13 +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
christos 91c9c62e44 Fix RCSID's 1997-07-13 18:45:15 +00:00
christos 43d6f49e0a Add missing math.h include
Fix RCSID's
1997-07-13 18:43:18 +00:00
christos faa85c1edf Add missing math.h include.
Fix RCSID's
1997-07-13 18:42:55 +00:00
christos 24329bd304 Add missing math.h include
Fix RCSID's
1997-07-13 18:42:29 +00:00
christos f6ff6c08f8 Fix RCSID's
Add missing math.h include
1997-07-13 18:41:38 +00:00
christos 89ce8a631d Add missing math.h include
Fix RCSID's
1997-07-13 18:40:38 +00:00
christos b3bd98a5e6 Fix RCSID's
Add missing math.h include
1997-07-13 18:39:54 +00:00
christos 35abd9e88d Add missing math.h include
Fix RCSIDs
1997-07-13 18:38:28 +00:00
christos 35a5d59f7d Fix RCSID's
Add missing math.h include
1997-07-13 18:37:30 +00:00
christos 42a71b4d7b Add missing stdlib.h include 1997-07-13 18:35:25 +00:00
jonathan a70f22abe7 Back out previous revision, which is reported to break signal-handing
in the GNU awk in our tree.
Leave the change in but commented out, it may be a  ld.so problem.
1997-07-07 00:13:56 +00:00
jtc 3c3a4cdfbb Simplify how division and remainder assembly source is generated
from divrem.m4.
1997-06-21 01:42:48 +00:00
jonathan b838c4c768 Add .set noreorder/.set reorder around .cpload 1997-06-18 22:23:13 +00:00
jonathan 20a862c6ad #include <machine/machAsmDefs.h> -> #include <mips/asm.h> 1997-06-17 16:35:26 +00:00
jtc 5f28317441 Use xorl/movb instead of movzbl when loading registers before computing
the return value.
1997-05-19 23:55:00 +00:00
jtc f486d77a92 I removed the extra instructions which compute the return value in Hiroshi
Horitomo's implementation a bit too hastily.  They are required to handle
the unsigned comparison required by the standard.
1997-05-18 21:24:46 +00:00
jtc 530ba70aa3 New implementations of strcmp() and strncmp().
This code uses subb instead of cmpb to compare chars.  When they are
not equal, the function's return value is computed by sign extending
the difference.  The basic idea was contributed by Hiroshi Horitomo
<horimoto@cs-aoi.cs.sist.ac.jp> in PR #3223, but his implementation
used additional instructions to compute the return value.

Also, the series of insns used to compare one pair of characters has
been unrolled 4 times.  This helps the 680[23]0, where the cost of a
taken branch is significantly more than that of a not-taken branch.
1997-05-18 20:32:20 +00:00
jtc 8da7150a8a Fix typo 1997-05-15 16:17:20 +00:00
jtc 042efd19d5 Fixup reverse bcopy 1997-05-15 16:07:31 +00:00
jtc ca7515b48a oops, bzero -> memset 1997-05-14 18:18:44 +00:00
jtc 6391090ebf Change b{eq,ne,lt,le,gt,ge} -> j{eq,ne,lt,le,gt,ge}. 1997-05-13 19:27:21 +00:00
jtc d46e665a16 Faster versions of bcmp(), bcopy(), bzero(), and memset().
The implementation of these functions is losely based on the original
BSD code plus versions I was working on which would yeild code tuned
for a particular m68k or coldfire family cpu, code space or run time
efficiency, etc. depending on the values of various macros.

My original code was intended for use in OS-less embedded systems.
Because NetBSD can not benefit from the considerable complexity, I've
removed the extraneous preprocessor goop.  The resulting code is tuned
for the '020 - '060.  It will not function on the '000 or coldfire.
1997-05-13 19:20:58 +00:00
matthias b153a75c32 * Add correct $NetBSD$ headers everywhere.
* Remove $Id$ headers.
* Support LIB_SCCS in all files.
* Use local labels where ever possible.
* Use cpufunc.h instead of __asm__ when possible.
* Access labels with _C_LABEL and _ASM_LABEL.
* Always set errno by calling cerror.
* No more FRAME/EMARF.
* No more SVC, use SYSTRAP instead.
* Use "$Masqueraded: as XXX $" to show e.g. memcpy compiled as bcopy.
* Rewrite vfork to work even whith a "real" vfork system call.
* Make cerror take care of _REENTRANT.
1997-05-08 13:38:29 +00:00
kleink 7448a697b2 Fix typo in last commit. 1997-05-04 06:40:57 +00:00
kleink 2913a7a8a4 Consistency: distinguish between PSEUDO() and PSEUDO_NOERROR(). 1997-05-02 18:15:15 +00:00
thorpej 1f92a78982 DEFS.h is gone from here, don't copy it up to libkern. (It will be gone
from libkern soon, as well)
1997-04-25 01:04:15 +00:00
thorpej d0fed6c87d Use <machine/asm.h> 1997-04-25 00:58:41 +00:00
thorpej aa6103a33e Garbage-collect unneeded file. 1997-04-24 23:50:27 +00:00
thorpej 5ef4bdf6cf Architecture-specific bits for libc on the PowerPC. From Wolfgang
Solfrank <ws@tools.de>
1997-03-29 20:55:50 +00:00
jonathan afe4640090 Remove lint (missing END() directive) in NOERROR syscalls. 1997-03-15 08:52:16 +00:00
thorpej 952eb61ea3 Define immediate values properly for the __STDC__ preprocessor case,
from Hiroshi HORIMOTO <horimoto@cs-aoi.cs.sist.ac.jp>, PR #3222.
1997-03-08 06:32:08 +00:00
ragge 7e8687db1b ENTRY() takes two argument now, not one. 1997-02-04 18:38:21 +00:00
ragge 2663970272 ENTRY() takes two argument now, not one. 1997-02-04 18:38:17 +00:00