Commit Graph

3372 Commits

Author SHA1 Message Date
peter
047fa82dd0 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
jdp
52ec4df9e8 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
jasone
15ffad75ec 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
bde
8a379ba272 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
bde
0e9e667b58 Fixed a formatting error in the prototype for crypt(). 1999-12-23 16:53:18 +00:00
bde
6e13854ccb Fixed bitrot in synopsis. The change from "int *pshared" to "int pshared"
hadn't reached here.
1999-12-23 16:51:27 +00:00
bde
1ab948f6cc Fixed wrong #include in synopsis. 1999-12-23 16:48:57 +00:00
bde
df20178dd3 Fixed missing `const' in synopsis. 1999-12-23 16:46:34 +00:00
bde
8f12d54525 Fixed missing includes in synopsis. 1999-12-23 16:38:51 +00:00
bde
4765c8aea8 Fixed missing installation of a link to ctermid_r.3. 1999-12-23 16:36:48 +00:00
bde
6c2d0e8c30 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
bde
a7653abdc4 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
bde
6b050d7244 Fixed missing installation of a link to rand_r.3. 1999-12-23 16:00:50 +00:00
peter
47c0955e5d 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
phk
e396740391 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
sheldonh
54243b8e7a Document the current behaviour with respect to the handling of errno.
Approved by:	phk
1999-12-22 17:04:46 +00:00
bde
5de8ef466a 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
bde
984286854c 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
asmodai
70260fd3cb 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
asmodai
fc6ea6bcd8 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
roberto
6452b5bbe6 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
obrien
90b4d2da64 What was I smoking? Use the proper form of the library names. 1999-12-21 06:19:03 +00:00
julian
443430016e Manual page style work.
Submitted by:	Alexey Zelkin <phantom@FreeBSD.org>
thanks!
1999-12-21 01:25:21 +00:00
obrien
b8abdf85ce Forgot a library. 1999-12-20 22:57:49 +00:00
obrien
970778c48f Add needed 3.x libraries from 3.4-RELEASE. 1999-12-20 22:57:12 +00:00
marcel
3ae4773224 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
roberto
b7335626ed 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
a80a848739 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
3cf81c35ae 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
obrien
e723c230ec Initialize a var to quiet -Wall. 1999-12-18 04:47:43 +00:00
green
74c1e8397d Switch over to the OpenBSD fts.c, fixing lots of things.
Obtained from:	OpenBSD
1999-12-18 04:36:14 +00:00
jasone
432d84cbec Fix some minor POSIX/SUSv2 compliance nits.
PR:		kern/11982
1999-12-18 01:00:42 +00:00
peter
81c8f9fa6d Make a dlopen failure consistant with dlsym(). "Shouldn't happen." 1999-12-17 20:21:45 +00:00
peter
3da8bcb7dc patch glitch 1999-12-17 20:19:28 +00:00
peter
1c7b33fb91 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
phantom
37b2004d09 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
phantom
47918de226 Fix typos
PR:		docs/14858
Submitted by:	OKAZAKI Tetsurou <okazaki@be.to>
1999-12-17 14:48:00 +00:00
deischen
b043dd936d 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
jkh
dd89aff001 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
deischen
8456ca7311 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
deischen
17ee572a14 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
jasone
395027ca77 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
shin
985fda16e7 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
cracauer
eda32af3b4 Document SA_SIGINFO
Reviewed by:	Sheldon Hearn <sheldonh@uunet.co.za>
1999-12-15 16:51:35 +00:00
jkh
19ab44d39b 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
jasone
2edcbc2e0b 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
6ef9746e27 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
billf
5b92abcf9d Remove x-ref to itself.
Reviewed by:	mpp
1999-12-14 11:34:47 +00:00
phantom
0cd874ce43 Correct "standard compilance" notes
Reminded by: bde
1999-12-14 10:35:09 +00:00
marcel
81282dc103 Add a `build-tools' target for make_hash and make_keys. 1999-12-13 21:25:08 +00:00