Commit Graph

401 Commits

Author SHA1 Message Date
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
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
gwr
4478e618ee Fix a warning. 1997-03-14 21:03:43 +00:00
gwr
2cf7613010 Sun RPC/bootparams always enabled (No -DSUN_BOOTPARAMS needed)
Add SUPPORT_BOOTP (and global try_bootp) to allow MD code to
determine whether BOOTP is used (compile-time and run-time).
Thanks to Matthias Drochner for the SUPPORT_BOOTP ideas.
Copyright asigned to The NetBSD Foundation.
1997-03-14 20:34:48 +00:00
gwr
8f0295e7f0 Moved here (via repository copy) so they are more easily shared.
I did not add them to the library, but rather compile them where
the netboot program is built so I can add -DSUN_BOOTPARAMS, etc.
1997-03-11 18:23:55 +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
leo
2242daf790 Initialize 'bestf' to make this compile again with -Wall. 1997-02-16 13:02:59 +00:00
thorpej
9a6b12944d In close(), if the file descriptor was used for writing, don't free
data structures that weren't allocated.  Fix sanity-checked
by Matthias Drochner.
1997-02-04 18:38:20 +00:00
thorpej
63930d7db4 Add some debugging code to free(), to catch frees before the
start of the heap and beyond the end of the heap (if a heap limit
is defined).
1997-02-04 18:36:33 +00:00
pk
01bd8a8ca8 Initialize `f_offset'. 1997-01-28 09:41:03 +00:00
cgd
981d496969 Change file system file-open semantics slightly: if file system returns
EINVAL, that error code is ignored, leaving whatever other meaningful
error code that might have previously been returned intact.  Stand-alone
file system implementations return EINVAL typically when the file system
is not recognized (i.e. cd9660_open on a UFS file system, ufs_open on a
cd9660 file system, etc.).  This meant that if you had multiple file
systems in a file system switch, the first returned ENOENT (because
it recognized the file system type, but the file wasn't there) and
the second returned EINVAL (because it didn't recognize the file system
type), errno would be set to EINVAL.  Now it'll be set to ENOENT.

It would probably make sense to have file systems return a special
error code to indicate "this file system is unrecognized," which
could then be special-cased, but that's a fair bit more invasive.
1997-01-25 01:13:41 +00:00
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