Commit Graph

3328 Commits

Author SHA1 Message Date
Peter Wemm
c4a7cdb3b6 Use kldsym(2) to lookup symbol values. This avoids the kvm_mkdb juggling
and is module aware.  Yes, this means that kvm_nlist(3) will find symbols
in loaded modules.  The emulation of the nlist struct is pretty crude but
seems to work well enough for all the users in the tree that I found.
1999-12-27 07:14:58 +00:00
John Polstra
d3980376e8 Add a new function dllockinit() for registering thread locking
functions to be used by the dynamic linker.  This can be called by
threads packages at start-up time.  I will add the call to libc_r
soon.

Also add a default locking method that is used up until dllockinit()
is called.  The default method works by blocking SIGVTALRM, SIGPROF,
and SIGALRM in critical sections.  It is based on the observation
that most user-space threads packages implement thread preemption
with one of these signals (usually SIGVTALRM).

The dynamic linker has never been reentrant, but it became less
reentrant in revision 1.34 of "src/libexec/rtld-elf/rtld.c".
Starting with that revision, multiple threads each doing lazy
binding could interfere with each other.  The usual symptom was
that a symbol was falsely reported as undefined at start-up time.
It was rare but not unseen.  This commit fixes it.
1999-12-27 04:44:04 +00:00
Jason Evans
ec9d5fa5f8 Creating weak symbols doesn't work correctly when building an aout libc.
Doing the "right thing" here is difficult, so create two ENTRY points for
each function (for example, __setjmp and setjmp are equivalent).  This
isn't pretty, but it works for both aout and ELF.

libc symbol naming needs an overhaul in order to properly support function
wrapping, specifically in the case of a real libpthread, and these
duplicate entry points should be fixed as part of that overhaul.

Pointed out by:	bde
1999-12-24 00:03:00 +00:00
Bruce Evans
a0d660c26b Fixed missing #include in synopsis.
Fixed misspelling of VGLPanScreen in its prototype.
Fixed missing installation of link to VGLPanScreen.3.
1999-12-23 16:56:27 +00:00
Bruce Evans
d3f0d184db Fixed a formatting error in the prototype for crypt(). 1999-12-23 16:53:18 +00:00
Bruce Evans
e7589db845 Fixed bitrot in synopsis. The change from "int *pshared" to "int pshared"
hadn't reached here.
1999-12-23 16:51:27 +00:00
Bruce Evans
2f64ff4437 Fixed wrong #include in synopsis. 1999-12-23 16:48:57 +00:00
Bruce Evans
7452ae6ecc Fixed missing `const' in synopsis. 1999-12-23 16:46:34 +00:00
Bruce Evans
6785844d79 Fixed missing includes in synopsis. 1999-12-23 16:38:51 +00:00
Bruce Evans
e395da92c4 Fixed missing installation of a link to ctermid_r.3. 1999-12-23 16:36:48 +00:00
Bruce Evans
79ac896751 Fixed wrong prototype and missing include for strsignal(3). strsignal()
takes an int arg and is prototyped in <string.h>.  It has the opposite
interface botches to psignal(3) which takes a bogus unsigned arg but is
prototyped in the right place.

This is not the last of the interface problems for strsignal().  We
obtained it from NetBSD, but NetBSD has moved its prototype to
<unistd.h>.  strsignal() should return const char *, but it returns
char * for historical reasons.  NetBSD declares it as returning
__aconst char, where __aconst is normally empty but can be set to
`const' to give better error checking.  glibc-2.1.1 prototypes
strsignal() in <string.h>.
1999-12-23 16:29:58 +00:00
Bruce Evans
3050159ad5 Fixed missing installation of a link to getlogin_r.3. This is the first
example of section 2 and section 3 interfaces sharing a man page.  It's
probably a bad example.
1999-12-23 16:12:24 +00:00
Bruce Evans
fb59427e5c Fixed missing installation of a link to rand_r.3. 1999-12-23 16:00:50 +00:00
Peter Wemm
473ee77f29 Fix the fixfsfile() so that it works for both block and character devices
as root.  This could fix the "filesystem still dirty after fsck" problem.

Submitted by:   bde
1999-12-23 14:44:36 +00:00
Poul-Henning Kamp
2e636eed15 Just on the off-chance that somebody might use libdisk in a totally
lobotomized environment, say booted from a floppy with no /etc full
of password and group files, give sensible fallbacks for roots uid
and operators gid.

This might fix sysinstall.
1999-12-22 19:06:29 +00:00
Sheldon Hearn
b3c5295256 Document the current behaviour with respect to the handling of errno.
Approved by:	phk
1999-12-22 17:04:46 +00:00
Bruce Evans
8f4620bc42 Aargh, the $FreeBSD$ check caused an inconsistent commit by rejecting
this makefile update which should have been together with the file
removal.

Removed vlimit.3 and vtimes.3.  Removed vlimit.c and vtimes.c from
the "MISSING" list.  These were old variants of get/setrlimit() and
getrusage(), respectively, and were never implemented in FreeBSD.
vlimit.3 referred to <sys/vlimit.h> which was removed recently.
vtimes.3 referred to <sys/vtimes.h> which never existed in FreeBSD.
1999-12-22 13:49:14 +00:00
Bruce Evans
cee710e762 Removed vlimit.3 and vtimes.3. Removed vlimit.c and vtimes.c from
the "MISSING" list.  These were old variants of get/setrlimit() and
getrusage(), respectively, and were never implemented in FreeBSD.
vlimit.3 referred to <sys/vlimit.h> which was removed recently.
vtimes.3 referred to <sys/vtimes.h> which never existed in FreeBSD.
1999-12-22 12:24:25 +00:00
Jeroen Ruigrok van der Werven
7bf92e055d Fix a typo which I cannot believe I missed after rereading this text
about 6-7 times prior to commit.

Reported by: sheldonh
1999-12-21 11:55:44 +00:00
Jeroen Ruigrok van der Werven
7ec9b49533 Properly manify this manpage.
Fix some spelling mistakes and typo's inspired by Nicholas' initial
PR submission.

PR:		docs/15597
Submitted by:	Nicholas Esborn <nick@flatlan.net>
1999-12-21 11:19:32 +00:00
Ollivier Robert
aa50282cd1 Fix a bug where a pointer would be one character too far after putting
a '\0' at the end of a string.

Submitted by:	Martin Birgmeier <Martin.Birgmeier@aon.at>
1999-12-21 10:17:36 +00:00
David E. O'Brien
78f79916e1 What was I smoking? Use the proper form of the library names. 1999-12-21 06:19:03 +00:00
Julian Elischer
5129159789 Manual page style work.
Submitted by:	Alexey Zelkin <phantom@FreeBSD.org>
thanks!
1999-12-21 01:25:21 +00:00
David E. O'Brien
bedf424beb Forgot a library. 1999-12-20 22:57:49 +00:00
David E. O'Brien
293c83c857 Add needed 3.x libraries from 3.4-RELEASE. 1999-12-20 22:57:12 +00:00
Marcel Moolenaar
73a84e4f78 Make sure curses.h is generated when making build-tools make_keys
and make_hash depend on it.
1999-12-20 10:37:55 +00:00
Ollivier Robert
27d5775d8c Rewriting of flags_to_string() and string_to_flags() to use an array.
PR:		bin/3648
Submitted by:	Martin Birgmeier <mbirg@austria.ds.philips.com>
1999-12-19 15:31:24 +00:00
Peter Wemm
1fa45844c4 This commit was generated by cvs2svn to compensate for changes in r54820,
which included commits to RCS files with non-trunk default branches.
1999-12-19 14:14:37 +00:00
Peter Wemm
d6e91b3149 Import fparseln(3) from NetBSD. It's used for easily dealing with \
escaped lines etc.  (used by mailwrapper)
1999-12-19 14:14:37 +00:00
David E. O'Brien
9d6eb14221 Initialize a var to quiet -Wall. 1999-12-18 04:47:43 +00:00
Brian Feldman
1a9b5f474e Switch over to the OpenBSD fts.c, fixing lots of things.
Obtained from:	OpenBSD
1999-12-18 04:36:14 +00:00
Jason Evans
386812d440 Fix some minor POSIX/SUSv2 compliance nits.
PR:		kern/11982
1999-12-18 01:00:42 +00:00
Peter Wemm
e67c7c99ef Make a dlopen failure consistant with dlsym(). "Shouldn't happen." 1999-12-17 20:21:45 +00:00
Peter Wemm
9c8fbe31e5 patch glitch 1999-12-17 20:19:28 +00:00
Peter Wemm
1f4aad4d1c Remove -lmd. Use dlopen() and dlsym() instead for calls to the MD5* and
SHA* routines so that callers of libcrypt are not exposed to the internal
implementation.
1999-12-17 20:04:01 +00:00
Alexey Zelkin
94da96bf18 Back up following macros by functions: ishexnumber, isideogram, isnumber,
isphonogram, isrune, isspecial. Fix ordering.

Reviewed by: bde
1999-12-17 15:12:21 +00:00
Alexey Zelkin
ded8c91a78 Fix typos
PR:		docs/14858
Submitted by:	OKAZAKI Tetsurou <okazaki@be.to>
1999-12-17 14:48:00 +00:00
Daniel Eischen
746ff5ad85 Change to work with recent signal changes. The signal being handled is
now added to the signal mask; this test failed because it didn't allow
for this.
1999-12-17 11:46:55 +00:00
Jordan K. Hubbard
f8d7aff7a0 Fix handling of trailing :'s to match what other OSes do (spit out
a diagnostis).

Submitted by:	Guy Harris <gharris@flashcom.net>
1999-12-17 01:52:15 +00:00
Daniel Eischen
fc8f3f5bfe Fix problems with cancellation while in critical regions.
o Cancellation flags were not getting properly set/cleared.
  o Loops waiting for internal locks were not being exited
    correctly by a cancelled thread.
  o Minor spelling (cancelation -> cancellation) and formatting
    corrections (missing tab).

Found by:	tg
Reviewed by:	jasone
1999-12-17 00:57:54 +00:00
Daniel Eischen
3dc268f4e7 Fixes for signal handling:
o Don't call signal handlers with the signal handler access lock
    held.
  o Remove pending signals before calling signal handlers.  If
    pending signals were not removed prior to handling them,
    invocation of the handler could cause the handler to be
    called more than once for the same signal.  Found by: JB
  o When SIGCHLD arrives, wake up all threads in PS_WAIT_WAIT
    (wait4).

PR:		bin/15328
Reviewed by:	jasone
1999-12-17 00:56:36 +00:00
Jason Evans
e6a5e33c6b Avoid an infinite loop if the last element of the iov array passed to
writev() has an iov_len of 0.

PR:		bin/8281
1999-12-16 22:35:40 +00:00
Yoshinobu Inoue
05a244b407 KAME 4th patch
IPv6 specific library functions addition.
(getnameinfo(), getaddrinfo(), and IPv6 transport support is not yet)

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-16 18:32:01 +00:00
Martin Cracauer
48e364bf96 Document SA_SIGINFO
Reviewed by:	Sheldon Hearn <sheldonh@uunet.co.za>
1999-12-15 16:51:35 +00:00
Jordan K. Hubbard
63b7978d53 Catch up to the fact that block devices are toast.
Teach about the afd driver.
Teach new char dev for ad driver.
Make ownerships correct.

Submitted by:	jhb
1999-12-15 08:33:56 +00:00
Jason Evans
ea8271a8bb Make setjmp, longjmp, sigsetjmp, and siglongjmp weak aliases for
__setjmp, __longjmp, __sigsetjmp, and __siglongjmp, respectively.
This supports cancellation in the linuxthreads port.  In the long run,
a much more comprehensive solution will necessitate more dramatic changes
to libc symbol naming, and these aliases will probably need modification
at that time.
1999-12-14 20:17:52 +00:00
Nik Clayton
38c05314b4 Commented out
MAN8+= rstat_svc.8

The file it talks about doesn't exist on FreeBSD, so there's no point in
installing the manual page.  There was already a comment to this effect in
this file, but the entry hadn't been commented out.

rstat.1 and rstat_svc.8 can probably actually be removed.

PR:             docs/13767
Submitted by:   Seth <seth@freebie.dp.ny.frb.org>
1999-12-14 16:56:46 +00:00
Bill Fumerola
b837caf89b Remove x-ref to itself.
Reviewed by:	mpp
1999-12-14 11:34:47 +00:00
Alexey Zelkin
2835cc3b12 Correct "standard compilance" notes
Reminded by: bde
1999-12-14 10:35:09 +00:00
Marcel Moolenaar
895a95935f Add a `build-tools' target for make_hash and make_keys. 1999-12-13 21:25:08 +00:00