Commit Graph

387 Commits

Author SHA1 Message Date
cgd da4932bff2 add EINVAL and ENOTDIR, as suggested by Matthias Drochner 1997-01-25 00:37:50 +00:00
cgd 192e22f5b7 isonum_722 and isonum_732 are now back in iso.h 1997-01-24 00:53:40 +00:00
cgd 6f0de181b1 update for iso.h changes which remove the need for the nastiness that was here 1997-01-24 00:29:19 +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 2ce4559663 clean up variable use, standardize with other kernel library Makefiles.
rename 'NO_NET' variable to SA_INCLUDE_NET, which defaults to 'yes' but can
be set differently.  kill EXTRACFLAGS, add SACPPFLAGS (generated from
CPPFLAGS by Makefile.inc) to CFLAGS.  Add support for including gzipped-file
read support, enabled by setting SA_USE_CREAD to yes (defaults to no).
1997-01-23 22:19:56 +00:00
cgd 25bd886ba9 fix a typo (ZPPFLAGS should have been ZCPPFLAGS) 1997-01-22 01:36:30 +00:00
cgd ea27b7aa31 Add a whole bunch of features, from Matthias Drochner:
best-fit, rather than first-fit, algorithm.
	ability to handle free()s with zero size (needed for gzip read
	    support).
	ability to start the heap someplace else (defined by HEAP_START).
	ability to limit growth of the heap (via HEAP_LIMIT).
	debugging sanity checks (ifdef DEBUG).
	allocation tracing support, to help debugging (ifdef ALLOC_TRACE).
and from me:
	ability to pick a (smaller) first-fit algorithm (via ALLOC_FIRST_FIT).
	lots of comments.

If heap limits and all of the debugging features are disabled (the default),
and ALLOC_FIRST_FIT is defined (not the default), compiled with -O on the
alpha the new version is the same (object) size as the old version.
1997-01-22 01:18:23 +00:00
cgd 862c1d585c code to open/close/read/lseek gzipped files, from Matthias Drochner. 1997-01-22 00:40:07 +00:00
cgd 21979e8d6b define these functions with an 'o' prepended to their names if
__INTERNAL_LIBSA_CREAD is defined (so that they can be used by the
compressed-read code).
1997-01-22 00:38:09 +00:00
cgd b581a80665 prototype lseek(). also, prototype oopen(), oclose(), oread(), and olseek()
if __INTERNAL_LIBSA_CREAD is defined.
1997-01-22 00:37:23 +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
cgd 493bd9e110 fix file system buffer leak that occurs if an error occurs (e.g. file not
found) during the file system open function after having read some data
from the disk.  From  Matthias Drochner (PR 3120).
1997-01-17 20:17:58 +00:00
cgd 9596fd8a77 only call the device close routine on a (fall-through) error if
F_NODEV isn't set in the file flags for the file being opened.
Pointed out by Matthias Drochner in PR 3122.  (fix equivalent to
the one he included, but stylistically different.)
1997-01-17 20:03:53 +00:00
mikel 9be91c7fb4 fix my typo; found by Klaus Klein <kleink@layla.inka.de> 1997-01-17 17:06:06 +00:00
mikel 313f6180e6 add prototypes for ethers(3) functions; fixes PR 2471.
fix suggested by Jason Thorpe.
1997-01-17 08:17:57 +00:00
cgd b1f42c3a13 add memcmp, implemented as a wrapper around bcmp() (like memcpy() is
implemented as a wrapper around bcopy()).
1997-01-16 04:06:15 +00:00
cgd f515ce7937 add sources, all copied verbatim from src/lib/libz 1997-01-16 00:21:43 +00:00
cgd e18d476d7c add Makefiles to build kernel 'libz' library, expected to be used by
boot blocks to load compressed images.  Sources and headers are copied
from src/lib (src/lib/libz, in particular) by making the 'update-sources'
target in this directory.  This library builds in a manner similar to
libkern; much of the Makefile hackery was taken from there.
1997-01-16 00:19:04 +00:00
christos 3ec6dad0f1 Typo police from: Juergen Hannken-Illjes 1997-01-02 22:06:51 +00:00
pk 12729c12d1 Add missing `#ifdef NFS_DEBUG' (from Rolf Grossmann; PR#3061). 1996-12-27 11:55:58 +00:00
christos 3463f39651 PR/2981: use ${VAR:Q} instead of '${VAR}' to avoid quoting problems 1996-12-26 21:32:37 +00:00
christos 2c8d554885 PR/2981: use ${VAR:Q} instead of "${VAR}" to avoid quoting problems 1996-12-26 21:32:08 +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
pk bd9ec27d9e kvprintf => vprintf (PR#2989, Juergen Hannken-Illjes). 1996-12-01 20:22:19 +00:00
gwr 033eec34ec Oops... get the vprintf prototype right. 1996-11-30 04:35:51 +00:00
gwr ecfe88202c Add declaration for vprintf. 1996-11-30 04:20:14 +00:00
gwr dfc25d8ab4 Finish the kprintf backout: kvprintf -> vprintf was missed. 1996-11-30 04:19:21 +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
thorpej a5461e87e1 Delete spurious #endif 1996-10-14 21:16:55 +00:00
cgd 40bcaca9ac fix a bogon in some new functionality apparently added in the last
commit (which was supposed only to back out the printf->kprintf changes).
The new functionality is: if the user enters control-D, return an error.
1996-10-14 04:49:21 +00:00
christos e44c1d1f33 backout previous kprintf changes 1996-10-13 02:28:58 +00:00
christos 92a808f167 backout previous kprintf changes 1996-10-13 02:21:25 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
christos 2b33d9d53a - printf -> kprintf, sprintf -> ksprintf
- use a debugging printf macro instead of #ifdef #endif everywhere.
1996-10-10 22:45:37 +00:00
thorpej 63a2506f79 Merge netbsd-1-2 branch back into mainline. 1996-10-09 01:15:04 +00:00
cgd bd581c1c73 fix several endianness bugs that caused name lookup (!!) and symlink
expansion to fail on little-endian machines.
1996-10-02 20:28:26 +00:00
ws 31afb65969 Remove superfluous -I. accidently introduced when I imported the PPC port 1996-10-02 16:19:51 +00:00
ws 5804d3f648 PowerPC port 1996-09-30 16:34:14 +00:00
ws fd225e6527 Add support for booting from cd9660 fs
Support directory traversal and symbolic links for nfs booting
Close device when file opening failed
Plug memory leak in ufs code
1996-09-30 16:01:18 +00:00
ws d67d39b37c Allow compilation of libkern as library for standalone programs 1996-09-30 15:54:35 +00:00
cgd bbfe67624b enough 64-bit fixes to make network booting work on the Alpha. In general,
these are hacks (s/long/int/, etc.), but this code really needs a heavy
cleaning (including fixed-size typing) and I don't have time to give it one
now.
1996-09-26 23:22:01 +00:00
cgd f496a53cbf make sure new allocations are aligned. 1996-09-26 23:15:00 +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
cgd 8042054add remove some unnecessary and broken casts on char *'s which are being subtracted 1996-07-10 18:41:38 +00:00
cgd 910efd056e nfs_read and nfs_write return 'int' rather than ssize_t. 1996-07-10 18:32:33 +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
pk 51347fcaaa Return useful file descriptor when opening a raw device. 1996-06-21 20:51:23 +00:00
pk 68f420b593 Oh, what's in a name.. 1996-06-21 20:29:28 +00:00
pk b461ef1d17 Allow seeks on raw devices. A `f_offset' field is added to the file structure
which is maintained in lseek(), read() and write(), and passed along to
the device's strategy routine.
1996-06-21 20:09:03 +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
pk 433594b99d missing semicolon 1996-06-03 22:11:23 +00:00
ragge 28061842a2 Fix include file order to confirm to KNF in master tree also. 1996-06-02 13:28:21 +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
leo c9a8578d2b Fix gcc -Wall warnings about printf arguments. 1996-05-14 10:28:18 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
mycroft e901286aad When sending an ARP request, use the interface address for the route, rather
than the first address assigned.  This gives slightly different behaviour in
the presence of aliases.  From Bill Fenner, via Pete Bentley.
1996-05-11 12:59:55 +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
gwr 056810ed99 Make this code independent of <sys/nfs> now that we use very little
from there anyway, so we can ignore changes in the NFS code...
1996-02-26 23:05:14 +00:00
scottr 6a0803ca9a Make these build again in the wake of the v3 changes 1996-02-26 21:50:07 +00:00
scottr c24557134f Needed for NFS booting; we aren't likely to use v3 here any time soon. 1996-02-26 21:49:34 +00:00
christos 1cb0b13391 Add declaration of strncasecmp. 1996-02-13 23:48:26 +00:00