Commit Graph

365 Commits

Author SHA1 Message Date
bouyer
7a337eca27 Ops, forgot to 'cvs add' theses. Pointed out by enami tsugutomo. 1997-10-12 13:27:59 +00:00
scottr
c49762b3d3 Implement assembly byte-swap functions. 1997-10-11 04:28:40 +00:00
bouyer
6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
cgd
6ac982f2a0 mark prototypes for static inline functions as possibly unused (with
__attribute__ ((unused))), to avoid generating warnings when compiling
without optimization but with most ports' default warning flags.
1997-07-07 22:45:34 +00:00
jtc
b92f5604b7 sync with libc 1997-06-20 02:08:04 +00:00
drochner
aab2edd1d4 Add prototype for bzero() (since it is implemented here). 1997-06-13 14:27:04 +00:00
cjs
7a66732d34 Back out BUILDDIR and NOINSTALL changes. 1997-05-31 21:21:13 +00:00
cjs
75380e08a1 Use new NOINSTALL option for libraries that are used only during the build
of a program, and not installed into the final system.
1997-05-30 01:55:09 +00:00
jtc
94815a35ee Sync with libc 1997-05-15 16:20:54 +00:00
jtc
f99d42b623 Sync with libc. 1997-05-13 19:32:01 +00:00
mycroft
185b24dd5b Use libinstall::, not install:, to prevent instaling LIB. 1997-05-07 16:20:26 +00:00
thorpej
13f5393c88 Build md5c.c 1997-04-30 00:53:38 +00:00
thorpej
f2afed0bb1 Add the libc md5 implementation to libkern. 1997-04-30 00:53:02 +00:00
thorpej
0b07209248 Allow depend target to be parallized, from Andrew Wheadon
<andrew@wipux2.wifo.uni-mannheim.de>, PR #3257.
1997-03-07 00:50:30 +00:00
cgd
72a6422a5e allow includers to specify library-specific CPP flags via ${LIB}MISCCPPFLAGS 1997-02-16 21:25:18 +00:00
cgd
3ca5f41d59 clean up substantially. Transform clean, depend, cleandir targets from ::
to :, so they can be used e.g. with <bsd.prog.mk>.  Standardize variable
names used to configure kernel libraries.

Variables used by these Makefile.inc's are:

S		must be set to the top of the 'sys' tree.
${LIB}DST	may be set to the location of the directory where library
		objects are to be built.  Defaults to ${.OBJDIR}/lib/${lib}.
${LIB}_AS	may be set to 'obj' to build a object from the library's
		object files.  (Otherwise, a library will be built.)
		Defaults to 'library'.
${LIB}MISCMAKEFLAGS
		Miscellaneous flags to be passed to the library's Makefile when
		building.  See library's Makefile for more details about
		supported flags and their default values.

(where LIB is KERN, SA, or Z, and lib is kern, sa, or z, depending on which
library's Makefile.inc is being discussed.)
1997-01-23 22:29:07 +00:00
cgd
d867ed50cc add strchr() to libkern. strchr.c copied from libc's "index.c", but with
appropriate definitions so that it'll build strchr(), and so that it builds
correctly in libkern (needed to #define NULL).
1997-01-18 02:33:38 +00:00
christos
3463f39651 PR/2981: use ${VAR:Q} instead of '${VAR}' to avoid quoting problems 1996-12-26 21:32:37 +00:00
fvdl
8f3917c76e Move _MCOUNT_DECL prototype back here again (grmbl). 1996-12-07 12:58:25 +00:00
fvdl
4827ca5603 Remove _MCOUNT_DECL prototype declaration of _mcount() again; move it
to <machine/profile.h>
1996-12-05 10:18:46 +00:00
fvdl
1a260961e0 Add prototype for _mcount, to make this compile with warnings on. 1996-12-04 00:04:40 +00:00
thorpej
15dc36463a We use C flavors of the quad support functions in libkern. 1996-12-03 19:35:42 +00:00
jtc
6621382048 Sync with libc 1996-11-30 02:06:27 +00:00
pk
87e006459e sync with libc source: remove DEFS.h 1996-11-18 22:50:28 +00:00
pk
fa80fdb243 Remove `chmod 444's. 1996-11-18 22:48:59 +00:00
cgd
458e5a37c9 include libkern.h, not types.h, to get prototype. (libkern.h includes types.h) 1996-11-13 19:30:39 +00:00
matthias
eb8718eafb * Pull up files from lib/libc/arch/ns32/string.
* DEFS.h and setjmp.S are no longer in use.
1996-11-07 07:36:05 +00:00
cgd
bba547e063 second and third args to scanc() (string and table) are not and should not
be modified.  Make them 'const'.
1996-10-24 23:50:31 +00:00
cgd
311fcee75f when casting const pointers, preserve const qualifiers. (-Wcast-qual) 1996-10-24 23:45:32 +00:00
cgd
e6d0f7439f copy down changes from libc 1996-10-17 04:26:20 +00:00
cgd
f929fef799 pull down from libc 1996-10-17 01:41:35 +00:00
ws
5804d3f648 PowerPC port 1996-09-30 16:34:14 +00:00
ws
d67d39b37c Allow compilation of libkern as library for standalone programs 1996-09-30 15:54:35 +00:00
cgd
f4888b894a label changes, pulled down from libc 1996-09-26 23:04:30 +00:00
ghudson
a08c3a1feb Handle relative paths to the source directory if they begin with a '.'. 1996-09-23 05:00:45 +00:00
cgd
788923c1ab add a missing #else, pointed out by Wolfgang Solfrank 1996-09-22 16:23:31 +00:00
mycroft
79e03b2967 Pass $STRIP to the sub-make. 1996-09-09 18:03:46 +00:00
thorpej
0794023752 RCS id police. 1996-08-30 17:43:56 +00:00
cgd
bdbfa48c0b Add machine-independent assertion-checking support. macros are:
assert()	which always does assertion checking
			unless "NDEBUG" is defined.

	KASSERT()	which does assertion checking if DIAGNOSTIC
			is defined.

	KDASSERT()	which does assertion checking if DEBUG is
			define.  This macro exists for compatibility
			with existing ports' assertion checking macros.
			(Assertion checking is not typically an
			"expensive" operation, and DIAGNOSTIC should be
			used for inexpensive consistency checks.)
1996-08-27 00:44:20 +00:00
cgd
fb6d196140 fix up for new libkern path specs 1996-08-21 19:18:47 +00:00
jtc
030f7ba872 Added to libkern in preparation for change from b* to mem*. 1996-08-15 22:59:11 +00:00
mycroft
811315ca92 Add anchors so that only exactly `-I. is modified. 1996-08-10 04:01:29 +00:00
mycroft
9c5b0780c0 Convert the -I. to -I${.OBJDIR}, so that the `machine symlink is available. 1996-08-10 03:00:51 +00:00
mycroft
44f440543f We dont need to pass down COMPATDIR and KERNDIR. 1996-08-08 15:15:16 +00:00
mycroft
3f0b5a641e Run the child make in the source directory, so that nothing here needs to be
changed when the compile directory is outside the source tree.
1996-08-08 15:06:39 +00:00
cgd
a906c164d2 frob the mask so that only the low set bit is set, to avoid lossage. 1996-07-15 05:20:19 +00:00
cgd
3f38b4d7ad add an assembly version of ffs(), copied down from libc 1996-07-15 03:13:41 +00:00
abrown
de7ece6ce5 Prevent recursive invocation of mcount() while in kernel by setting profiling
state to BUSY while in mcount(). This allows profiling to work when mcount()
calls a profiled routine (for example, udiv on the SPARC).
1996-06-29 14:30:32 +00:00
cgd
e1078396e5 copy down from libkern:
>use p->hashfraction when doing non-time-critical calculations, rather than
>using HASHFRACTION directly.  in time-critical calculations, if HASHFRACTION
>is a power of two, check that p->hashfraction == HASHFRACTION and if so do
>the calculation with the compiled-in value so that the compiler can optimize
>out (potentially) expensive divisions.  if p->hashfraction != HASHFRACTION,
>actually do the division.  This has the result that on machines with slow
>division, the division can be optimized out of the common case, but that
>if HASHFRACTION changes from the compiled-in value (for whatever reason),
>profiling will still work.  Changes suggested by Chris Torek.
1996-06-12 04:16:53 +00:00
cgd
352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
cgd
efd9d2dc7f Copy from libkern:
Add some casts so that we're not bitten by type promotions on 64-bit
systems.  Not a great concern since the only 64-bit system currently
supported by NetBSD (Alpha) uses assembly versions of these routines.
1996-05-29 23:39:30 +00:00
mrg
663808dfc5 use ' not " when passing variables to a sub-make. pr#1199/pr#1296 1996-05-20 17:23:25 +00:00
mycroft
540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
scottr
ba554befe5 Make sure we clean up libkern.o and libkern.po, too. Closes PRs 1951
and 2387.
1996-05-10 21:27:32 +00:00
mark
d4fcd14ee3 No longer needed. The netbsd config for gcc/arm has been fixed to generate
correct profiling code.
1996-04-26 20:07:43 +00:00
mark
39b959c810 Added copyright message. 1996-04-26 20:05:28 +00:00
christos
0ca6a87952 Remove memset.c; it is not currently used, and .c files should belong in
the MI portion of libkern. When/if we move to use mem* routines in the kernel
we can add it to the MI portion/write a memset.s.
1996-04-23 23:05:22 +00:00
cgd
4a134a0780 don't include user-land headers in libkern files when compiling for
the kernel.
1996-04-18 02:19:59 +00:00
cgd
1813cc71d0 don't include user-land headers in libkern files when compiling for
the kernel.  memset.c does not belong here.  it either belongs in
the MI libkern directory, or does not belong in libkern at all.
1996-04-18 02:19:07 +00:00
cgd
55afd9912f don't get rid of the -D_KERNEL in KERNCPPFLAGS 1996-04-18 02:14:48 +00:00
cgd
a5dc646be0 use assembly version of strcat (copied down from libc) 1996-04-18 01:53:04 +00:00
cgd
eccf43e127 files copied from libc 1996-04-17 22:46:34 +00:00
cgd
e70b1375c9 add strncasecmp.c to ports' libkern Makefile.inc's. When adding a new
source file to libkern, it should be added to _ALL_ ports makefiles if
it is machine-independent and used by machine-independent code (in
this case adosfs).  (There are several arguments that say that
strncasecmp should not be in libkern at all, and i think they're
good ones, but as long as ADOSFS needs it to link, it has to be here
for all architectures.)
1996-04-13 01:17:27 +00:00
christos
fb901eb966 - Add missing prototypes
- Bring prototypes into scope
- Correct prototype for skpc
1996-03-14 18:52:03 +00:00
scottr
e494b8793f Back out previous change. 1996-03-11 05:46:51 +00:00
scottr
c31eae0510 Back out previous change. 1996-03-11 05:31:59 +00:00
thorpej
e142a2195f Provide a memset() for the i386 (assembly version), and move memset.c
out into the libkern proper in case other ports want to use it.
i386 kernels with COMPAT_LINUX should compile now.
1996-03-11 03:19:37 +00:00
christos
1cb0b13391 Add declaration of strncasecmp. 1996-02-13 23:48:26 +00:00
christos
b07937f401 Make it really work like strncasecmp, instead of 0/1 return codes. 1996-02-06 21:35:31 +00:00
christos
70552d3392 Add strncasecmp.c; extracted from ADOSFS adlookup.c. 1996-02-06 21:22:00 +00:00
mycroft
f96fc7f12e Simplify, and add support for passing CPPFLAGS. 1996-02-02 20:34:38 +00:00
mark
f56b429c95 Initial commit of the NetBSD/arm32 port. 1996-01-31 23:44:43 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
cgd
6b49a2ceed copy from libkern 1995-10-20 01:16:02 +00:00
cgd
35742ffe0a use NetBSD RCS id format. use bzero.S, not bzerro.c 1995-10-20 01:15:37 +00:00
cgd
47667c7df1 set, don't add to, CFLAGS from KERNCFLAGS. Do assignment of CC and
CFLAGS earlier, so that the arch-specific Makefile can add to them.
1995-10-20 01:10:06 +00:00
cgd
d7a207fd49 update from libc 1995-10-20 00:53:28 +00:00
jtc
af8ead3302 Fix from Jochen Pohl which fixes case where quad multiply
goes awry if bit 31 of at least one of the operands is set
(PR #1591).
1995-10-12 15:05:35 +00:00
mycroft
9782971b02 Remove setjmp() and ffs(). 1995-10-07 22:26:53 +00:00
mycroft
209bd1b877 Build libkern as one .o file, so that all symbols defined therein are
always available to loadable modules.
1995-10-07 09:56:54 +00:00
mycroft
120925e7c3 Remove bzero.S and setjmp.S, as these functions are in locore. 1995-10-07 09:52:48 +00:00
mycroft
a09832e624 Update from libc. 1995-10-07 09:26:14 +00:00
jonathan
65c53f255c Remove old .PATH directives that referenced libc source.
Libkern has its own copies of all the requisite source files.
1995-09-26 18:27:24 +00:00
leo
230fb12a7a Add abs() function as an 'inline'. The atari-port needs it since the
-fno-builtin is used in the kernel Makefile.
1995-09-23 20:35:47 +00:00
cgd
26fbf3bbb8 prototype inline functions, almost as suggested by Jonathan Stone in PR 1258. 1995-08-14 05:43:24 +00:00
cgd
8357feb486 update dependencies to deal with the alpha 1995-06-28 02:59:12 +00:00
christos
2cb09c2709 Add the ability to override KERNREL and KERNDST. 1995-06-26 03:25:46 +00:00
christos
fc5a8cffa2 Build libkern in the kernel compilation directory, like libcompat. 1995-06-24 20:31:12 +00:00
pk
1778fc8e4a eserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett. 1995-04-22 09:37:39 +00:00
ragge
dfcfbc4f03 Added VAX specific makefile. (In libkern/arch/vax) 1995-04-18 21:59:46 +00:00
jtc
db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +00:00
cgd
b5d8c76eb5 copy down from libc. 1995-03-03 01:14:11 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
cgd
e133097a8e Alpha support from libc. 1995-02-13 21:49:11 +00:00
cgd
537b309ca7 slight cleanup/reorg. don't use quad code on the alpha. 1995-02-13 21:48:17 +00:00
mycroft
e9b92ad027 Sync with libc. 1995-02-08 18:35:50 +00:00
mycroft
c318fc2e81 Sync with libc. 1995-02-05 15:06:43 +00:00
cgd
daf1f43606 copy back from libc 1995-01-06 00:48:11 +00:00
cgd
50c2ab0cd0 from libc 1995-01-06 00:10:05 +00:00
mycroft
ccfbdee90e Change a dependency to work when not using `all' target. 1994-12-31 04:32:23 +00:00
mycroft
ee9082a163 Only build the version of the library that's needed. 1994-12-31 04:26:58 +00:00
deraadt
f4713b5e96 silence link creation 1994-12-07 14:53:53 +00:00
cgd
aa9eacdd59 new RCS ID format. 1994-10-26 06:39:02 +00:00
deraadt
2b10ae150f compile -O3 1994-09-16 01:27:58 +00:00
deraadt
9d977e669b gcc automatically calls memset in certain situations. 1994-09-15 01:46:37 +00:00
mycroft
6ba85483c3 Use bfffo rather than a slow loop. 1994-09-09 03:07:23 +00:00
cgd
d7fc64af84 don't use inline, use __inline, like cdefs intends (so it can kill it if nongcc 1994-07-15 22:29:22 +00:00
deraadt
c5656ed1f6 clean obj better 1994-06-30 20:17:47 +00:00
deraadt
cb2b615c65 to find the DEFS.h files here, not in libc.. 1994-06-30 06:54:22 +00:00
deraadt
983c6f33c3 auto-copied from libc 1994-06-30 06:52:54 +00:00
deraadt
b13e4ea39a find divrem.m4 automatically 1994-06-30 06:51:51 +00:00
mycroft
7762f58480 Clean up deleted files. 1994-06-30 04:49:02 +00:00
mycroft
4908dd6ed9 Clean up deleted files. 1994-06-30 04:26:23 +00:00
deraadt
b70d67af03 mv ${arch}/ to arch/${arch}, so that libkern builds without obj/ 1994-06-30 04:26:07 +00:00
glass
9e3c581a30 wierd fix for very wierd pmax compile problem. terry hit this too 1994-06-16 05:17:20 +00:00
glass
48967285da fix typo: scan.c -> scanc.c 1994-06-15 15:27:42 +00:00
glass
78bf21476b works in bootstrapping caseee 1994-06-03 03:44:41 +00:00
glass
ae4959931e needed by some multicast thing 1994-06-03 03:37:30 +00:00
cgd
2ae7f39161 be careful about mcount.po 1994-05-21 03:22:42 +00:00
cgd
17ab905850 need a backslash! 1994-05-16 11:01:45 +00:00
deraadt
a3c5a71f9f attempts to reduce our reliance on /usr/include 1994-05-16 06:25:21 +00:00
cgd
e7a10fd212 add libkern mcount 1994-05-14 06:00:34 +00:00
cgd
a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
glass
590e7a9105 missing. not noticed because all the ports have their own version. 1994-04-17 03:47:16 +00:00
chopps
7bb230219d copied over so lib/libc/arch not needed to build kernel. 1994-03-29 07:14:42 +00:00
deraadt
d77d51eea8 kernel/disklib.c goes away, not very portable 1994-03-23 18:18:45 +00:00
mycroft
fcb12cd74d Much faster on 486s and Pentiums; a little slower on 386s. 1994-03-23 08:49:46 +00:00
deraadt
21bd5c11f4 delete some unneeded things 1994-03-22 19:17:22 +00:00
ws
ce516ff13d Make FFS optional 1994-03-09 21:21:37 +00:00
mycroft
e50e5bc84b Minor speedup. 1994-02-24 06:58:36 +00:00
mycroft
2f681356c4 Minutely faster. 1994-02-24 01:32:14 +00:00
mycroft
afe588b9d2 Assembler versions of these. 1994-02-24 00:41:00 +00:00
mycroft
451fbfb366 Update from libc. 1994-02-15 13:42:30 +00:00
jtc
5235180083 Fix spelling error in Copyright notice 1994-01-28 23:43:26 +00:00
pk
ccbb67e8c3 Find source in the right places. 1994-01-15 19:48:56 +00:00
ws
e33a014618 Use $(MAKE) instead of make 1994-01-09 17:22:54 +00:00
davidb
3a435f99f9 Changed to use make's new .OBJDIR 1993-12-28 10:59:05 +00:00
cgd
0be07477eb use ${MAKE} rather than "make", as suggested by Roland McGrath 1993-12-22 04:58:02 +00:00
mycroft
6f9ba74d72 Clean up deleted files. 1993-12-05 07:20:14 +00:00
mycroft
c051bea7ca Clean up deleted files. 1993-12-05 01:56:14 +00:00
cgd
fdc1a28735 use .S 1993-12-05 01:52:27 +00:00
cgd
30dc89704d split up the {ntoh,hton}[ls] functions 1993-12-05 01:36:46 +00:00
cgd
1e98b770b2 use .S files 1993-12-04 05:21:29 +00:00
cgd
d226f795ee quad support 1993-12-04 05:21:03 +00:00
cgd
90d44a4697 oops; we need this 1993-12-04 05:09:14 +00:00
cgd
aa73ac7b19 quad support copied in from libc. 1993-12-04 05:01:33 +00:00
cgd
5d996b5fbb change to use MACHINE_ARCH and update from libc 1993-12-04 03:08:13 +00:00
mycroft
fb44c683a4 Clean up deleted files. 1993-12-04 03:07:53 +00:00
cgd
879130b794 change to use MACHINE_ARCH and update from libc 1993-12-04 03:05:16 +00:00
mycroft
75fe89c2ef Clean up deleted files. 1993-12-04 03:04:56 +00:00
cgd
e21de4e71b change to use MACHINE_ARCH and update from libc 1993-12-04 03:04:30 +00:00
briggs
606d45ee4a Move the SRCS from hp300 over to here, changing ffs.c to ffs.s.
Am I missing something obvious in doing this?  This makes the
${ARCH}/Makefile.inc for 68k able to just set ARCH=m68k.
1993-11-29 05:29:51 +00:00
cgd
e685fd393f added files copied in from libc. version numbers are screwed,
but are screwed for the rest of libkern's files, anyway.
1993-11-05 22:40:48 +00:00
jtc
9c896370ee Did a ``make copy-to-libkern'' from libc to copy libc files to libkern.
Checking them in to make people happy.
1993-10-27 22:00:42 +00:00
cgd
9f8465b49c use obj.${MACHINE} dirs to compile into 1993-10-23 02:33:12 +00:00
jtc
79591d04bc So many files in arch/i386 have been changed I might as well run my
remove unecessary trailing whitespace script.
1993-10-21 01:48:14 +00:00
jtc
823c36577c Change instances of LIBC_RCS back to LIBC_SCCS. If we are going to change
th LIBC_RCS, the entire source tree should be updated at once.
Remove && !defined(lint) from conditionals around rcs id's.  No one is
ever going to pass a *.s file through lint.
1993-10-21 01:39:55 +00:00
jtc
97ad548bc0 Replaced instructions with immediate operands with compatible alternatives
saving a few bytes while the cycle count remains the same --- could
actually be faster, depending on the cache, prefetch queue, etc.
1993-10-20 18:50:15 +00:00
cgd
2193c056b8 add strncmp to anything 1993-10-15 08:41:12 +00:00
cgd
acbf63a86b add __main() 1993-10-15 06:20:46 +00:00
cgd
c667517e13 punt on doing minimal work in favor of less output in 'happy' case. 1993-10-13 12:19:37 +00:00
cgd
2fcc3cd764 add a bunch of .NOTMAINs 1993-10-13 06:17:16 +00:00
cgd
15f1203e06 slight cleanup, and ... (gasp) add comments 1993-10-13 05:55:19 +00:00
cgd
2d4295eb29 move 'boot' and 'libkern' into 'lib'. generally clean up 'kernel library'
building and dependencies.
1993-10-13 05:40:23 +00:00
cgd
0b9f50897e make an arch directory in libc, and move all machine dirs into it 1993-10-07 00:17:24 +00:00