Commit Graph

817 Commits

Author SHA1 Message Date
tsubai
7272e1b36f s/minbrk/_C_LABEL(__minbrk)/. 2000-08-04 09:19:39 +00:00
tsubai
511556bf86 Change comment character from '#' to '!'. (binutils-2.10 doesn't like '#') 2000-08-04 08:47:03 +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
bjh21
3b9cd873cb Revert previous change -- turned out I'd got my build environment in a twist. 2000-07-15 15:07:34 +00:00
bjh21
985033a7a6 Add fixunssfsi and fixunsdfsi. These are provided by libgcc2.c in GCC 2.95,
but not in EGCS.

This version of fixunssfsi is almost exactly the arm32 version.  fixunsdfsi is
mostly based on fixdfsi, but with simplifications for 64-bit integers.

Only minimal testing has been applied so far.
2000-07-15 13:26:50 +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
de9e80b40f Missed in previous: replace the previously used _brk label with an ordinary
local label; problem noticed by Matthias Drochner.
2000-07-04 07:37:33 +00:00
matt
7661e75ad4 Fix a major botch in 1.4 (which I did not do) which broke _brk and malloc. 2000-07-01 05:21:12 +00:00
matt
c3530f0c12 Fix some bugs and clean up for ELF & a.out support 2000-06-30 23:46:36 +00:00
mrg
6b9ed41192 sync with libkern version; <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 06:30:02 +00:00
matt
ae4364e1d3 Make these work with either a.out or ELF. 2000-06-28 19:20:16 +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
4d8e5be65e Delete the leftover _brk entry; as discussed with Ragge. 2000-06-23 07:18:09 +00:00
cgd
db755e7c76 sweep of my licenses (userland files w/o only my copyright) for
consistency.  (no functional changes)
2000-06-14 17:24:02 +00:00
cgd
d220ca5ba3 fix up NetBSD RCS Ids to match the standard, and the leading comment as
to match as well.  No functional changes.
2000-06-14 06:48:47 +00:00
msaitoh
b2e2c7ec87 movstrSI*() for gcc -Os 2000-06-09 04:47:31 +00:00
tsubai
bba37c9174 Add softfloat glue for sh3. 2000-06-06 17:28:37 +00:00
bjh21
4472dbe5e3 Initial commit of SoftFloat 2a import. This should provide a sensible
mostly-MI floating-point implementation for use by gcc -msoft-float.
It's currently only used by arm26, but should be usable by other ports
without too much hacking, assuming doubles and u_int64_ts are passed and
returned the same way, and FP formats are IEEEish.
2000-06-06 08:14:49 +00:00
castor
5510a708c4 Make __cerror be LEAF_NOPROFILE. I relies upon having v0 and v1 be unchanged
from the caller.   From Ethan Solomita <ethan@geocast.com>
2000-05-29 15:07:41 +00:00
bjh21
6c97e2bd78 Initial commit of arm26 port 2000-05-09 21:55:44 +00:00
erh
b6ab3db38e Fix unaligned accesses more correctly. 2000-04-25 05:55:58 +00:00
erh
9396b0cf82 Fix unaligned accesses. 2000-04-25 05:54:33 +00:00
tsubai
dc6a892a44 Add missing files. 2000-04-20 13:48:14 +00:00
mark
a319e58c04 Fix alignment of __nanf and __infinity. Fixes PR9925. 2000-04-18 22:07:17 +00:00
mycroft
fedba1d813 Clean up. 2000-04-03 04:20:44 +00:00
mycroft
72e604e414 Clean up.
* _REENTRANT is always defined.
* The vfork() stubs can use cerror.
2000-04-03 04:13:36 +00:00
mycroft
7f7027bb59 Repair syscall stubs that were not updated when the cerror interface was
modified.
2000-04-03 03:13:07 +00:00
msaitoh
9c587bcf2f fill delay slots (from Klaus Klein) 2000-03-27 16:27:16 +00:00
mycroft
78a4ddbd60 Do a little rearrangement here. No functional change, but it's a little
clearer what's going on.
The assembler still whines about the lack of `.cprestore' when profiling,
but I'm not going there right now.
2000-03-23 04:58:59 +00:00
soren
89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +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
shin
e68fefb855 remove unused files (MIPS SOFTFLOAT). 2000-03-05 05:45:46 +00:00
shin
ac9896415f remove MIPS SOFTFLOAT. 2000-03-05 05:41:03 +00:00
mycroft
19b51e87a9 Remove pointless #ifdef. 2000-02-25 17:40:30 +00:00
kleink
7b61131dba Missed in end -> _end cleanup. 2000-02-24 15:37:34 +00:00
kleink
a379081935 For consistency with all other ports, clear errno in the prologue to the
syscall here as well - while the manual page advises applications to clear
errno themselves their actual behaviour may be questionable, especially in
light of the other ports' implementations.
2000-02-23 20:16:57 +00:00
mycroft
9ff0891c83 Fix bogons. 2000-02-22 03:28:04 +00:00
mycroft
5256a370bf Do the minimum work to make this compile with -Werror. 2000-02-22 03:14:20 +00:00
mycroft
32d50d3388 Do the minimum work to make this compile with -Werror. 2000-02-22 01:18:28 +00:00
mycroft
d018facbbf A better fix for the stub-in-other-module problem:
Load the address of cerror through the GOT, so we can do a PIC_EPILOGUE and
leave the stack clean.
2000-02-19 21:04:58 +00:00
kleink
b94df6841c (Re-)use the assembly version for labs() as well. 2000-02-06 13:14:51 +00:00
kleink
b9d73b3129 Implement *__errno() redirection, with help from Matt Thomas. 2000-02-05 21:02:51 +00:00
kleink
c54d3e28e2 Go via *__errno() here, too. 2000-02-05 19:53:54 +00:00
kleink
c3ed25e892 Implement *__errno() indirection. 2000-02-05 19:20:53 +00:00
kleink
fb2f23e243 Oops, need to save r2 and r3 as well. 2000-01-27 15:11:17 +00:00
kleink
9d7ea6523c Support *__errno() indirection. 2000-01-27 14:58:48 +00:00
kleink
1a3fa11c95 Support *__errno() indirection. 2000-01-24 21:57:39 +00:00
mycroft
5888ab27bd Make cerror() work correctly for stubs in other shlibs -- e.g. libposix. 2000-01-23 23:38:32 +00:00
mycroft
c26054b799 Delint. 2000-01-22 22:40:58 +00:00
kleink
02867b49c9 Nuke the assembly version, which has been unused for > 2 years and is actually
identical to GCC's output from processing abs.c.
2000-01-20 18:28:33 +00:00
kleink
6910891781 Add NAN constant glue for sh3. 2000-01-17 16:27:53 +00:00
kleink
34c7685f30 Adjust for little endian environments (confirmed by msaitoh). 2000-01-17 16:21:36 +00:00
kleink
5d03e70658 (Re-)use the assembly version for labs(), too. 2000-01-16 00:32:32 +00:00
msaitoh
df208e8ae8 sync with libkern 2000-01-14 22:55:46 +00:00
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
matt
592306e323 Use __sigprocmask14, fix a few more bugs 1998-10-10 01:50:23 +00:00
matt
99d642287b Actually build __setjmp.S/__sigsetjmp.S for vax. PICifiy the setjmp code.
Fix libm Makefile to handle obj directories.
1998-10-10 00:08:50 +00:00
eeh
aba7891e3d Fix libc signal breakage (I hope). 1998-10-08 02:27:58 +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
tsubai
00b455d632 New signal stuff for PowerPC. 1998-10-03 12:30:37 +00:00
matthias
ce5916bcb9 __setjmp14.S
fix a fatal bug I introduced when I merged my changes with Jason's.
__sigsetjmp.S
	cosmetics
1998-10-03 10:39:46 +00:00
matthias
d2a91d2279 SYS.h
Fix CALL to use _C_LABEL.
gen/Makefile.inc
	setjmp.S and sigsetjmp.S don't have lint stubs. Append them to
	SRCS, not ASSRCS.
gen/__setjmp14.S, gen/__sigsetjmp14.S
	some small optimizations
string/strcat.S string/strncat.S string/strncpy.S
	use _C_LABEL when calling functions
1998-10-01 22:46:35 +00:00
kleink
b5fe349eff Add *__errno() redirection for _REENTRANT code. 1998-10-01 19:25:05 +00:00
kleink
d8d9d85d13 (Fortunately harmless) typo in previous. 1998-10-01 19:20:44 +00:00
christos
d5c25c895a This should be close... 1998-10-01 18:59:16 +00:00
kleink
f73ad7167d Add *__errno() redirection for _REENTRANT code. 1998-10-01 09:26:31 +00:00
ragge
7f233b2f7a New libc signal handling stuff. 1998-09-30 18:37:39 +00:00
thorpej
c9c3e3bff4 ns32k signal changes. 1998-09-29 20:24:36 +00:00
thorpej
ca1e742680 NetBSD/arm32 signal changes. 1998-09-29 20:23:25 +00:00
christos
4d4de54f5f Make the sparc work again; some work from jason, some from me. 1998-09-29 05:55:48 +00:00
thorpej
2af42e072f Signal changes for Alpha. 1998-09-29 03:01:37 +00:00
thorpej
adb7eb514d sigaction() that calls the compat syscall (jonathan forgot to commit this). 1998-09-28 19:01:28 +00:00
jonathan
0c47ce2246 mips libc stubs for sig*14 signal API (128bit sigset_t),
plus backward-compatibility  for the old 1.3 libc entrypoints.
1998-09-27 22:59:39 +00:00
christos
2e3d142a37 Add a compat sigaction. 1998-09-26 23:57:15 +00:00
christos
6bacaab8be Fix signal mess. Change old syscalls to use the right signal numbers
and add a versioned copy of sigreturn (from Jason)
1998-09-26 23:49:34 +00:00
christos
ccf1e97b10 Add setjmp versioned bits (from Jason).
XXX: Someone needs to make setjmp/longjmp save and restore the signal stack!
1998-09-26 23:46:01 +00:00
thorpej
3d3a3c610c Back out previous change; it was incorrect. 1998-09-14 00:57:51 +00:00
eeh
83116b3d6b Libc fixes, mostly to work around the new signal stuff. 1998-09-13 23:54:44 +00:00
eeh
07c6aca8ad Bring in definition for stack BIAS. 1998-09-12 16:54:14 +00:00
eeh
cf009bcc7a Add sparc64-specific libc. 1998-09-11 04:56:19 +00:00
mycroft
2142384565 Assign my copyrights to TNF. 1998-08-15 09:36:04 +00:00
tsubai
7992f14b3a s/asm/__asm/ 1998-08-09 12:43:33 +00:00
perry
c6300798a1 add memcmp.S 1998-08-04 03:35:32 +00:00
mark
ec628f2561 Update for machine/setjmp.h change (JMPBUF* -> _JB*) 1998-08-04 02:03:08 +00:00
perry
2cc5ae3efa add memcmp.S to libkern. 1998-08-04 01:35:57 +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
jonathan
7e49f8ba22 From Arne Juul <arnej@math.ntnu.no>:
Explicilty reload the mips-ABIcall GOT/$gp  in cerror().
  cerror() gets called from outside libc (e.g., from libposix's rename(),
  and if we don't load $t9, cerror() makes wild references using
  the libposix $gp and coredumps.
1998-07-25 03:01:45 +00:00
tsubai
2d13e5da31 Add #include <sys/syscall.h> for "SYS_sigprocmask". 1998-07-02 18:40:24 +00:00
thorpej
d5bc168ba9 Use _C_LABEL() to generate C labels. 1998-07-01 06:44:14 +00:00
thorpej
0c3c6dabb8 Use _C_LABEL() to generate C labels. 1998-07-01 06:24:25 +00:00
tv
131c70b10d Change immediate label references to _C_LABEL(). 1998-07-01 02:16:27 +00:00
thorpej
0b12e1c944 Generate C labels with _C_LABEL(). 1998-07-01 01:28:48 +00:00
christos
49278ef701 s/inline/__inline/ so that lint works. 1998-06-28 20:19:30 +00:00
matthias
f7d0254c4b Fix all the bugs I introduced with my last fix... 1998-05-28 22:07:22 +00:00
simonb
c578a514a2 Remove single ' from comment to keep cross-assemblers happy; fixes PR 5451. 1998-05-28 13:57:12 +00:00
matthias
4c27158c66 Fix a bug in bug in bcopy/memcpy/memmove that would manifest when
(dst-src < 4) and (dst < src). Credits for finding and diagnosing
this bug go to Ian Dall.
1998-05-27 20:05:43 +00:00
ws
a6bbe90471 Use asm.h defines for labels 1998-05-25 15:37:20 +00:00
ws
b1009f3dc5 Use asm.h defines for symbols 1998-05-25 15:35:06 +00:00
ws
c523f0152f Remove long obsolete copyright (should have been done before initial import) 1998-05-25 15:19:10 +00:00
cgd
5b0ac13bc6 ne64 is not used. #if 0 out its definition, so that its 'static inline'
ness and the fact that it is unused won't combine to cause a warning.
1998-04-24 18:46:53 +00:00
matthias
425a6f2c60 KKENTRY -> KENTRY, fallout from my -mrtd experiments. 1998-04-21 19:57:39 +00:00
matthias
b034fd9de6 shutdown is using exect and what we had here made shutdown fail with
a BPT/Trace trap.
1998-04-19 20:14:18 +00:00
matthias
373680d979 Prepare assembler source for -mrtd kernels. 1998-04-03 22:58:08 +00:00
perry
56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
pk
278a44a644 Need to use PIC_PROLOGUE() since `__ffstab' is now a global. 1998-02-24 22:06:10 +00:00
mycroft
a81d3c2db8 Fix omission in last. 1998-02-22 15:24:08 +00:00
mycroft
a51494cbe3 Expose ffstab as __ffstab. 1998-02-22 15:11:01 +00:00
mycroft
f948529426 Add some more items to KMSRCS. 1998-02-22 09:04:50 +00:00
mycroft
0b15d23837 Copy more files to libkern. 1998-02-22 08:40:37 +00:00
mycroft
cf02652abc And rindex.S... 1998-02-22 07:21:32 +00:00
mycroft
6b7f2d0f92 And index.S... 1998-02-22 07:20:24 +00:00
mycroft
c8cf6620bb Copy strchr.S and strrchr.S as well. 1998-02-22 07:01:11 +00:00
mycroft
e1e9dd27c5 Copy up bcopy.S and memcpy.S. 1998-02-22 06:46:55 +00:00
mycroft
96b33a9cda Copy more files to libkern. 1998-02-22 06:37:54 +00:00
thorpej
4a374620e0 Fix exect(3). 1998-02-03 19:34:50 +00:00
thorpej
91969428f9 Clean up _SYSCALL_NOERROR() a bit. 1998-02-03 19:33:58 +00:00
mycroft
cb5f577939 Need float.h for prototypes. 1998-02-03 01:30:43 +00:00
cgd
ec1f804952 add back RCS Id which I accidentally deleted. 1998-01-22 20:05:20 +00:00
cgd
193c1d2147 (1) make sure targets are built in a parallel-make-safe way
(2) make sure softfloat.po is compiled with the right profiling
    flag (-pg), and softfloat.so is compiled with the right
    PIC flags (${CPICFLAGS}).
1998-01-22 07:17:16 +00:00
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