msaitoh
95d875fb90
libc for SH3.
...
TODO: fplib
2000-01-05 14:07:29 +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
shin
509e885e3b
fix name space pollution by adding prefix '_mips_'.
...
closes PR 8770.
1999-12-26 00:22:31 +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
matthias
87bb3a7b2b
make this work again with -mrtd.
1999-11-16 18:16:53 +00:00
is
eaf45b75c1
Fix spelling of contributors name
1999-10-27 09:10:27 +00:00
thorpej
3b435a7396
Add register prefixes.
1999-10-25 23:48:07 +00:00
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
shin
54de12eae6
remove extra lw (SOFTFLOAT)
1999-10-11 05:25:35 +00:00
shin
f761ddb744
adjust #endif position (SOFTFLOAT)
1999-10-11 05:21:06 +00:00
takemura
cdabc2eb91
Hpcmips needs completely FPU instruction free user land.
...
XXX, this modification is kinda ad-hoc.
1999-09-29 13:19:13 +00:00
kleink
30ae96c534
Oops, missed these in the mcount -> __mcount renaming.
1999-09-28 08:27:08 +00:00
is
e203553a11
Finish support for auto-generated libkern divsi3.S.
1999-09-21 09:43:38 +00:00
is
897dbf6c67
Use an identical source file for the libc and the libkern version of
...
divsi3.S, conditionally compiling the divide by zero case. This way,
after a change to the one, we can just copy it over to update the other
without creating ... problems. By Chris G. Demetriou.
1999-09-20 09:22:47 +00:00
mycroft
959acd6d47
Looks like I forgot to add this copy of isnan.c.
1999-09-17 21:32:53 +00:00
takemura
2f85eb6142
Import NetBSD/hpcmips source files from hpcmips repository.
...
file list:
sys/arch/hpcmips/
distrib/hpcmips/
etc/etc.hpcmips/
lib/libc/arch/mips/fplib/
lib/libc/arch/mips/fplib/Makefile.inc
lib/libc/arch/mips/fplib/environment.h
lib/libc/arch/mips/fplib/fplib_glue.c
lib/libc/arch/mips/fplib/fplib_libc.c
lib/libc/arch/mips/fplib/hpcmips-gcc.h
lib/libc/arch/mips/fplib/softfloat-macros.h
lib/libc/arch/mips/fplib/softfloat-specialize.h
lib/libc/arch/mips/fplib/softfloat.c
lib/libc/arch/mips/fplib/softfloat.h
lib/libc/arch/mips/gen/ieee.h
lib/libc/arch/mips/gen/sf_fabs.c
lib/libc/arch/mips/gen/sf_flt_rounds.c
lib/libc/arch/mips/gen/sf_fpgetmask.c
lib/libc/arch/mips/gen/sf_fpgetround.c
lib/libc/arch/mips/gen/sf_fpgetsticky.c
lib/libc/arch/mips/gen/sf_fpsetmask.c
lib/libc/arch/mips/gen/sf_fpsetround.c
lib/libc/arch/mips/gen/sf_fpsetsticky.c
lib/libc/arch/mips/gen/sf_isinf.c
lib/libc/arch/mips/gen/sf_ldexp.c
lib/libc/arch/mips/gen/sf_modf.c
1999-09-16 12:13:17 +00:00
is
bc086d24af
In the division core: if the highest bit of the dividend is set,
...
we have to be careful when shifting the divisor. Test this.
This fixes PR 7760 by Richard Earnshaw.
1999-09-16 09:15:05 +00:00
drochner
ec2a7d4249
SYS.h was nuked from libkern
1999-09-10 15:41:51 +00:00
chs
f70d067294
use RODATA() instead of ENTRY() for __ffstab so that it works when profiling.
1999-09-06 19:00:24 +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
augustss
75d2dfe657
Remove more unused mulexp variables.
1999-08-30 15:11:32 +00:00
augustss
6a4d7f0bc4
Make it compile again by removing an unused variable.
1999-08-30 12:14:09 +00:00
mycroft
9cba4741ee
Use C versions of isinf() and isnan(). The assembler code is basically
...
identical, but was endian-dependent.
1999-08-29 23:01:40 +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
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
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
0ae41d0984
Use the C version of ldexp(). The assembler version was broken in several
...
ways (ldexp(0.0, 5000) returned +Inf, didn't do normalization/denormalization,
etc.).
1999-08-29 19:08:44 +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
6850b97bb3
Sync with SPARC version.
1999-08-29 18:35:51 +00:00
mycroft
ed01c49a3f
Use the C version. The assembler version was just transliterated (and buggy)
...
anyway.
1999-08-29 18:32:36 +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
291053e1e2
Use ieee.h.
1999-08-29 18:23:26 +00:00
mycroft
c8190acc41
Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h.
1999-08-29 18:11:28 +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
74511f97b1
Use _ALIGN_TEXT from <machine/asm.h>.
1999-08-23 08:45:09 +00:00
danw
687108b42f
add the ieeefp functions
1999-07-07 01:55:07 +00:00
danw
e8559a61eb
mark an asm statement volatile so it doesn't get optimized out
1999-07-07 01:53:38 +00:00
pk
0ffda58ae9
A new implementation of _setjmp/_longjmp that uses the T_FLUSHWIN trap.
...
This means the stack frame and program counter can restored directly
from the jmp_buf, eliminating the need to backtrack through frames
which does not work in all cases.
1999-06-27 11:10:18 +00:00
tron
d7678457d6
Fix definition of infinity. Patch supplied by Richard Earnshaw in
...
PR lib/7829.
1999-06-21 22:31:32 +00:00
matthias
71dd06e171
Go for correctness instead of speed as suggested by Ian Dall. This fixes
...
pr#port-pc532/7710.
1999-06-06 20:20:46 +00:00
matthias
bb36354c10
Fix spurious page faults by double word aligning the source and not the
...
destination. Thank's to Ian Dall for this fix.
1999-06-06 19:49:11 +00:00
kleink
15fb0e4315
Shameless hack to reference end if using a.out and _end if using ELF.
1999-06-03 20:14:58 +00:00
kleink
5b4ea02521
_C_FUNC() -> _C_LABEL()
1999-05-06 14:01:20 +00:00
kleink
c66e4d7122
* Prefix softfloat symbols which require external linkage with _arm32_ to
...
move them out of user namespace; declare those not requiring external linkage
static.
* In due course, disable those functions that require neither external nor
internal linkage.
Addresses PR port-arm32/7517.
1999-05-06 13:56:28 +00:00
tsubai
cb9a32fdf9
* Add getcachelinesize() prototype.
...
* Make this compile with -D_STANDALONE.
1999-05-05 12:35:54 +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
ross
c5a82dd848
* New MI man page for fp{set,get}{round,sticky,mask}(3).
...
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha. (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
kleink
b74f892f6d
Declare cerror using _ENTRY() to get, among other things, a .type statement.
1999-04-29 15:37:21 +00:00
ws
5423093850
Modify syncicache on PowerPC from an inline to a real function.
...
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
ragge
765d11306b
Set infinity to the highest D-float possible.
...
XXX - infinity does not exist on vax...
1999-04-17 14:53:32 +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
dccf2a15e4
While in transition, conditionally rename _ASM_LABEL(cerror) and
...
_ASM_LABEL(curbrk) to _C_LABEL(__cerror) and _C_LABEL(__curbrk), respectively,
depending on the object format chosen, to avoid user namespace clashes.
1999-03-31 18:14:27 +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
jonathan
cd6244f1cc
Assembly-coded, word-at-a-time unrolled memset().
1999-03-15 06:37:43 +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
ragge
22df858e3c
Fix typos after the hton* changes. Need __*setjmp14.S also.
1999-03-06 11:13:43 +00:00
christos
ae6215337e
Don't use 1: label; it is uses by the PIC_PROLOGUE macro and we jmp in the
...
wrong place!
1999-02-22 13:07:14 +00:00
christos
af1c8fd11a
For don't mess up the stack before calling syscall when using PIC_PROLOGUE.
1999-02-13 16:13:48 +00:00
is
3fafc185a5
68060 optimization, doesnt hurt others
1999-02-08 22:00:13 +00:00
christos
e387e174fc
Amend for the PLT fixes, things broke last night with the changes to SYS.h
...
and cerror.S. In particular, the syscalls in the files committed below were
broken.
1999-02-08 18:56:48 +00:00
christos
143dcdbe44
Make cerror an entry and compensate for the PIC_PROLOGUE change in SYS.h
1999-02-07 17:22:25 +00:00
christos
cb41675175
Add PIC_PROLOGUE before the PLT call to cerror. ELF dynamic linking needs
...
this.
1999-02-07 17:21:38 +00:00
jonathan
2d40554ce3
_setjmp.S needs OFFSETOF_SC_{FP,}REGS, so include <machine/signal.h>
...
even tho _setjmp()/_longjmp() don't manipulate signals. (more thought?)
1999-02-05 00:41:42 +00:00
matthias
f44e783c10
When invoking ALTENTRY, the arguments may not contain spaces (not even
...
after the ",") or this will fail when cpp is run with -traditional-cpp.
1999-02-01 21:32:35 +00:00
castor
eede9d202f
Regularize with removal of genpubassym.cf. Structure offsets
...
now obtained from signal.h
1999-01-31 00:57:10 +00:00
jonb
f23e238690
things like newfs need bswap64 in libc
1999-01-22 14:22:36 +00:00
mycroft
da8a0f49c7
Whitespace fix.
1999-01-22 11:01:04 +00:00
mycroft
99355f3153
Use insbl to reduce by 1 instruction.
1999-01-22 10:59:18 +00:00
mycroft
8bf9a67c76
One instruction shorter, and returns the same 32-bit result.
1999-01-22 09:13:17 +00:00
castor
8605fac4eb
* Fix typo in Makefile.inc -- byte_swap_2.4 -> byte_swap_4.S
...
* Change bytes_swap_4.S to have consistent NLEAF and END for swap routine.
1999-01-18 04:32:49 +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
castor
7ad987bb7c
Userland support for 64-bit safe sigcontexts.
1999-01-15 03:53:33 +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
simonb
c93135c35a
s/vm_offset_t/vaddr_t/
1999-01-10 08:24:42 +00:00
eeh
ff34887c45
More fixes to signal handling code...
1999-01-03 16:22:04 +00:00
mycroft
317ff12487
Slight cleanup.
1998-12-04 09:52:43 +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
sakamoto
e3a695901c
Add frexp.c and modf.c.
1998-11-26 07:50:56 +00:00
tsubai
106908bdb8
Add PIC version.
1998-11-24 11:14:54 +00:00
christos
7c990e0c7b
delint
1998-11-14 19:31:01 +00:00
matt
cf2842a1b0
Some changes to disassembly easier without causing any performance penalty.
1998-10-20 06:46:19 +00:00
christos
f2e15d15fa
Fix the non pic version too.
1998-10-16 14:11:53 +00:00
christos
3d8121f3df
PR/6285: Tom Ivar Helbekkmo: sigsetjmp/siglongjmp broken after current signal
...
changes.
1998-10-16 13:28:39 +00:00
kleink
d541ca6d80
Need internal names for isinf() and isnan().
1998-10-13 14:43:36 +00:00
matt
c1d0053032
PICify. (e.g. change movl $sym, rX to movab sym, rX)
1998-10-13 00:02:19 +00:00