Commit Graph

1032 Commits

Author SHA1 Message Date
John Polstra
5a81ed9667 This release is a moderate restructuring of the dynamic linker.
It addresses a number of problems that were present in earlier
versions.

The calls to the "init" and "fini" functions of shared libraries
have been reordered, so that they are called in a strictly nested
fashion, as is required for C++ constructors and destructors.  In
addition, the "init" functions are called in better order relative
to each other.  That makes the system more tolerant of C++ programs
which depend on a library's being initialized before its clients.

The dynamic linker is now more tolerant of shared libraries in
which dependencies on other shared libraries are incompletely
recorded.

Cleanup in the event of errors has been improved throughout the
dynamic linker.  A number of memory leaks were eliminated.

The warning message for a shared library whose minor version number
is too old has been clarified.

The code dealing with the "ld.so.hints" file has been cleaned up.
A bug that caused the hints file to be unmapped incompletely has
been fixed.  A different bug that could potentially cause the hints
file to be mapped on top of a loaded object has been fixed.

The code that searches for shared libraries has been cleaned up.
The searching is now more compatible with that done by SunOS and
SVR4.  Also, some unnecessary and useless searches of both the
hints file and library directories have been eliminated.

Reviewed by:	nate@freebsd.org
1996-01-13 00:15:25 +00:00
John Polstra
eb4a4eeb45 Split up the code so that a single directory can be searched, to
support some changes in the dynamic linker.  (This code is shared
by the dynamic linker.)

Reviewed by:	nate@freebsd.org
1996-01-13 00:14:53 +00:00
Bill Paul
7ece219762 Toss the old yppush into the attic. 1996-01-12 06:46:19 +00:00
Bill Paul
420bf02888 Remove yppush; it's about to be replaced. 1996-01-12 06:43:33 +00:00
Poul-Henning Kamp
bbb1dc53a4 Another '-' needed for make release. 1996-01-11 17:49:55 +00:00
Poul-Henning Kamp
5a39b83123 Make the new realinstall target a little less draconian so that make release
doesn't fall over.
1996-01-11 17:27:16 +00:00
Peter Wemm
609ce96228 Whoops. cvsinit was creating a modules file in CVSROOT with an
explicit (and wrong) /usr/local/bin/mkmodules path. We install in /usr/bin.

Noticed by: Faried Nawaz <fn@pain.csrv.uidaho.edu>
1996-01-11 05:56:35 +00:00
John Polstra
b25d7c2bbc Install ld.so in a way that is safe even on a running system. 1996-01-11 03:45:55 +00:00
Jordan K. Hubbard
52abcf2c37 Fix small bug with negative item_no. 1996-01-10 13:57:46 +00:00
Mike Pritchard
78f03ca729 Correct the path used to invoke "pr" if the "-l" option to diff is
specified.  Also invoke "pr" with "-F" instead of the invalid "-f"
option.

Obtained from:  NetBSD-bugs mailing list (PR# 1896)
1996-01-10 10:41:47 +00:00
Jordan K. Hubbard
24b935d90e Refresh before calling selection hook. 1996-01-05 04:00:51 +00:00
Jordan K. Hubbard
48551fe40b Work around optimizer strength reduction bug.
Submitted by:	Richard Henderson <richard@atheist.tamu.edu>
Obtained from:	bug-gcc@prep.ai.mit.edu
1996-01-04 04:44:47 +00:00
Joerg Wunsch
9f5ae2b97b Use cvs -Q release, instead of cvs release -Q, for removing the
modules module.
1996-01-02 07:39:03 +00:00
Jordan K. Hubbard
cd5e85eb47 Create individual tests for each dialog feature. 1996-01-01 03:45:32 +00:00
Jordan K. Hubbard
738c371d22 Next round of changes - make dialog boxes drawable at arbitrary X,Y locations
and add selection traversal callbacks so context-sensitive behavior can
even be implemented for individual menu items.  These work around the two
largest issues holding me back with some of my sysinstall changes.
1996-01-01 03:43:58 +00:00
Peter Wemm
4525250aaa recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Peter Wemm
6065a0be11 This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
Peter Wemm
a5b996a7ec recording cvs-1.6 file death 1995-12-30 19:02:48 +00:00
Peter Wemm
dcc96c4b83 This commit was generated by cvs2svn to compensate for changes in r13087,
which included commits to RCS files with non-trunk default branches.
1995-12-29 00:21:26 +00:00
Peter Wemm
953ce0c6cb Import some ChangeLogs for the parts of cvs-1.6.3 that I missed
last time.  I should have pulled these in last time as it allows easier
comparison of "where we are at" relative to the current version from
cyclic.com.  Since this is in a 4.4BSD style tree layout, the changelogs
dont exactly match the file layout, but it's close enough.
1995-12-29 00:21:26 +00:00
Bruce Evans
1f4f6e61d4 Enabled my FUNCTION_PROFILER_EPILOGUE code and added option
-mprofiler-epilogue to support it and documented the option.

cc.1:
Listed all the machine-dependent options, even the temporary
debugging ones.

invoke.texi:
Fixed the sense of -mno-ieee-fp.
Sorted the machine-dependent options.
1995-12-26 01:34:39 +00:00
Peter Wemm
9e4b2b92b8 Bah humbug!
Two uninitialised variables were causing a phkmalloc warning (another notch
in phkmalloc's belt) and caused the full rcstemplate to not be constructed
for commits on freefall.
1995-12-25 03:26:26 +00:00
Bill Paul
1c16e9536e Toss ypxfr into the attic. The new one should be appearing shortly. 1995-12-25 02:57:48 +00:00
Bill Paul
4466e54fea Turn of ypxfr. It's about to be nuked. 1995-12-25 02:56:12 +00:00
Nate Williams
821271cef8 Fix the convert to 'death-support' script to work with un-modified
RCS sources.
1995-12-24 00:23:28 +00:00
Mark Murray
8b2f1b5fce Remove games from the SUBDIR list. Gnu Chess is in ports now.
OK'ed by: jkh, phk, asami (and others)
1995-12-23 17:03:07 +00:00
Jordan K. Hubbard
79b4be8ddf Add another test to round out the radiolist dialog suite.
Add more comments and attempt to make everything just that much
more understandable.
1995-12-23 14:53:07 +00:00
Jordan K. Hubbard
5dbaee3639 Add a reference to dialog(3) now that the man pages exist. 1995-12-23 01:11:54 +00:00
Jordan K. Hubbard
728c8dd9ac o Add some test code. 1995-12-23 01:10:32 +00:00
Jordan K. Hubbard
fa8dc2c075 Add changes to:
o Support a new, fully backwards-compatible API for controling
	  individual items in dialog menus.
	o Write a man page.
	o Add some test code.
1995-12-23 01:10:20 +00:00
Jordan K. Hubbard
4564c19cc7 Document the -k and -w flags.
Submitted by:	Gary Jennejohn <gj>
1995-12-19 23:42:56 +00:00
Peter Wemm
c44b3fc409 A one line hack to prevent 'cvs checkout -c' from triggering a nasty bug
in GNU getopt().  ('cvs checkout -c' cats the modules file to stdout)

Noticed by: Stefan Esser
1995-12-18 18:58:00 +00:00
Peter Wemm
a50515323b Re-connect cvs to gnu/usr.bin/Makefile..
(Note that you need to have either done a 'make world' or explicitly
 run a 'make distrib-dirs' (in src/etc) to get some needed directories in
 /usr/share/examples/cvs to be built.)
1995-12-18 08:04:53 +00:00
Bill Paul
f998a45ff5 Turn off ypserv. It's about to be replaced by a new non-GPL version. 1995-12-16 20:18:16 +00:00
Peter Wemm
5318395661 Fix yp_mkdb to do what the code suggests it's trying to do..
The code, as written, appears to load the new database data into a new
hash file and renames the two.

Due to a run of bugs and lack of error checking, it's going a whole
mess of unlink() and rename() calls that are failing.  It only
worked in the first place because the data was being inserted into a
"live" hash file.  (I wonder how much stale data has assumulated?)

Submitted by: Laurence Lopez <lopez@mv.mv.com>
1995-12-11 13:56:07 +00:00
Peter Wemm
c3fda50ba5 Whitespace cleanup, add forgotten file to CLEANFILES.. 1995-12-11 04:24:11 +00:00
Peter Wemm
4b8f6a534c Make CVS use /usr/lib/libmd.a rather than supplying Yet Another Copy(TM)
of md5.[ch].  Note that minor mods were made to md5.h to support this,
so a reinstall of lib/libmd is needed before building this cvs.
1995-12-11 02:22:34 +00:00
Peter Wemm
41ae2b9560 Tweak the install targets so that the installs are done in the right place
relative to the SUBDIR recursion.. Otherwise, the results look really odd.
(basically changed a couple of afterinstall's to beforeinstall's)
1995-12-11 01:58:53 +00:00
Peter Wemm
e57cf9e3b2 Argh! Botch alert! I dont *believe* I did this....
(I think I'll blame it on Tristan! :-)
1995-12-11 01:27:18 +00:00
Peter Wemm
b23b8efe32 Fix a couple of build warts that I broke... 1995-12-11 01:23:45 +00:00
Peter Wemm
0ef0ad0b77 Bring in two files that I missed.. These are of no real value unless
you are developing CVS code, but they were already in the tree so we
might as well have the right versions.. :-)
1995-12-11 00:48:21 +00:00
Peter Wemm
ab10d3d509 This commit was generated by cvs2svn to compensate for changes in r12757,
which included commits to RCS files with non-trunk default branches.
1995-12-11 00:48:21 +00:00
Peter Wemm
54cb448ea5 Attach easy-import.pl (repostory copied from easy-import.perl) and
use the xPERL_PATHx substitution like the rest of the .pl stuff.
1995-12-11 00:45:43 +00:00
Peter Wemm
177f95a913 Clean out some files which are no longer part of CVS... 1995-12-11 00:28:08 +00:00
Peter Wemm
21eb9ed3e1 First round of the post-import cleanups... 1995-12-10 23:10:40 +00:00
Peter Wemm
ac4bd338c8 Import CVS-1.6.3-951211.. Basically, this is the cvs-1.6.2 release
plus a couple of minor changes..

Some highlights of the new stuff that was not in the old version:
 - remote access support.. full checkout/commit/log/etc..
 - much improved dead file support..
 - speed improvements
 - better $CVSROOT handling
 - $Name$ support
 - support for a "cvsadmin" group to cut down rampant use of "cvs admin -o"
 - safer setuid/setgid support
 - many bugs fixed.. :-)
 - probably some new ones.. :-(
 - more that I cannot remember offhand..
1995-12-10 22:31:58 +00:00
Peter Wemm
271f76d028 This commit was generated by cvs2svn to compensate for changes in r12752,
which included commits to RCS files with non-trunk default branches.
1995-12-10 22:31:58 +00:00
Peter Wemm
2304b65669 Import CVS-1.6.3-951211.. Basically, this is the cvs-1.6.2 release
plus a couple of minor changes..

Some highlights of the new stuff that was not in the old version:
 - remote access support.. full checkout/commit/log/etc..
 - much improved dead file support..
 - speed improvements
 - better $CVSROOT handling
 - $Name$ support
 - support for a "cvsadmin" group to cut down rampant use of "cvs admin -o"
 - safer setuid/setgid support
 - many bugs fixed.. :-)
 - probably some new ones.. :-(
 - more that I cannot remember offhand..
1995-12-10 22:31:58 +00:00
Peter Wemm
b05543098c Import CVS-1.6.3-951211.. Basically, this is the cvs-1.6.2 release
plus a couple of minor changes..  

Some highlights of the new stuff that was not in the old version:
 - remote access support.. full checkout/commit/log/etc..
 - much improved dead file support..
 - speed improvements
 - better $CVSROOT handling
 - $Name$ support
 - support for a "cvsadmin" group to cut down rampant use of "cvs admin -o"
 - safer setuid/setgid support
 - many bugs fixed.. :-)
 - probably some new ones.. :-(
 - more that I cannot remember offhand..
1995-12-10 22:31:43 +00:00
Peter Wemm
c294469919 This commit was generated by cvs2svn to compensate for changes in r12750,
which included commits to RCS files with non-trunk default branches.
1995-12-10 22:31:43 +00:00
Peter Wemm
26992c2473 Disconnect 'cvs' from SUBDIRS in preperation for import of new version.. 1995-12-10 21:50:02 +00:00
Bill Paul
5028f8616a Close PR #853. The services.byname case needs to greate keys in the form
'service/transport' (i.e. telnet/tcp) instead of just 'service.'
1995-12-09 19:25:00 +00:00
Peter Wemm
3ffece8c26 Restore white spaces to original cvs-1.4Alpha2 state so that we can
deal with the cvs-1.6 (and beyond) imports more cleanly and safely.
1995-12-03 14:17:06 +00:00
Andrey A. Chernov
4d9c923ce7 Add fixes from bash beta
Back out trailing spaces changes
1995-12-03 00:09:12 +00:00
Jordan K. Hubbard
bfb5faf86d gets() -> fgets() 1995-12-01 08:26:36 +00:00
Jordan K. Hubbard
d7c4e4ec1e gets() -> fgets() 1995-12-01 08:19:12 +00:00
Jordan K. Hubbard
9f07bf9833 Comment out /usr/X386/man entry from MANDATORY_MANPATH - it's obsolete.
Submitted by:	mi@ALDAN.star89.galstar.com
1995-11-28 19:03:20 +00:00
Bruce Evans
89e36521ab Fixed beforeinstall rule. .CURDIR was spelled .SRCDIR.
Changed beforeinstall rule to use `install -C' instead of `cmp -s'
and `install -c'.  `install -C' has exactly the right semantics
for installing headers and should be used elsewhere.
1995-11-26 09:51:42 +00:00
Peter Wemm
3c64c6ee8d Part two of a repository operation to sort out the libmp/libgmp builds.
After this commit, you should be able to build libmp and libgmp independently
and without being forced to do a make depend first..
1995-11-25 00:14:03 +00:00
Mark Murray
12e4d1a6e7 BBild libgmp from the sources already in ../libmp. 1995-11-13 19:13:19 +00:00
Mark Murray
1191aefe58 Add libgmp. 1995-11-13 19:12:10 +00:00
Mark Murray
4accbdcc20 Make the tests work. libmp and libgmp must be installed for this
to work.
1995-11-13 18:42:24 +00:00
Mark Murray
2becfa2b3c Build the TeXinfo manual 1995-11-13 18:40:45 +00:00
Mark Murray
638ddb0f0e 1) Add the doc/subdirectory - this will get gmp.texi installed
2) Clean up the Makefile - libgmp is coming!
1995-11-13 18:39:23 +00:00
Mark Murray
58cf3c925d Add libmp 1995-11-12 15:03:50 +00:00
Mark Murray
43f0bbcd01 BMake the multiprecision library, and fix as many of the -Wall warnings
as is now feasable.
1995-11-12 14:55:48 +00:00
Mark Murray
ae82e96f8c GNU MP (Multiprecision) library. This is needed by secure RPC (being
done by Bill Paul) and various other BSD programs.
Obtained from:FSF
1995-11-12 14:40:41 +00:00
Nate Williams
1e37fc9d59 Changed the terminology for what used to be called the "memorizing"
vector.  Now it is called the "symbol caching" vector.  This was made
possible and unconfusing by other changes that allowed me to localize
everything having to do with the caching vector in the function
reloc_map().

Switched to alloca() for allocating the caching vector, and eliminated
the special mmap-based allocation routines.  Although this was motivated
by performance reasons, it led to significant simplification of the
code, and made it possible to confine the symbol caching code to the
single function reloc_map().

Got rid of the unnecessary and inefficient division loop at the
beginning of rtld().

Reduced the number of calls to getenv("LD_LIBRARY_PATH") to just 1, on
suggestion from <davidg@root.com>.

Added breaks out of the relocation loops when the relocation address is
found to be 0.  A relocation address of 0 is caused by an unused
relocation entry.  Unused relocation entries are caused by linking a
shared object with the "-Bsymbolic" switch.  The runtime linker itself
is linked that way, and the last 40% of its relocation entries are
unused.  Thus, breaking out of the loop on the first such entry is a
performance win when ld.so relocates itself.  As a side benefit, it
permits removing a test from md_relocate_simple() in
../i386/md-static-funcs.c.

Unused relocation entries in other shared objects (linked with
"-Bsymbolic") caused even bigger problems in previous versions of the
runtime linker. The runtime linker interpreted the unused entries as if
they were valid. That caused it to perform repeated relocations of the
first byte of the shared object.  In order to do that, it had to remap
the text segment writable.  Breaking out of the loop on the first unused
relocation entry solves that.

Submitted by:	John Polstra <jdp@polstra.com>
1995-11-02 18:48:15 +00:00
Andrey A. Chernov
46e838403c Add setlocale LC_CTYPE 1995-10-31 08:44:21 +00:00
Peter Wemm
9a4fe3afc6 Remove the $ Log: ... $ lines from the comments in the files that had
them.  Good greif! This was causing an unimaginable amount of brain-damage!
The mere fact that I griped about $ Log $ in a previous commit (misspelled
deliberately here) meant that the blasted thing was being expanded from the
middle of the log entry as well as the beginning, and using " * All these"
as the comment leader..  AARGH!!!!  We *really* need to prevent these from
being expanded! (or remove the magic identifier from the source).
1995-10-29 22:06:48 +00:00
Peter Wemm
9968a350e9 Recover the -K option to co, for handling selective keyword expansion. 1995-10-29 19:31:11 +00:00
Peter Wemm
aac6d18515 Restore phk's changes from 1.3 - 1.5.. Adds a -v switch to rlog to get it
to print the current version of the RCS files.
1995-10-29 18:07:04 +00:00
Peter Wemm
718c96d308 Restore nate's change from rev 1.2; improve readability of the rlog output
(adds a short row of dashes in a place that CVS and RCS dont mind)
1995-10-29 17:56:28 +00:00
Peter Wemm
39db722b77 Build and install diff.info..
As Bruce said, this is a little bogus, it'd be nice if bsd.prog.mk knew
about .texi in the same way as it does man pages..

Submitted by: bde
1995-10-29 09:08:35 +00:00
Peter Wemm
d4722af88f Import diff-2.7's diff.texi which I left out last time.
Suggested by: bde
1995-10-29 08:52:27 +00:00
Peter Wemm
d0a68277c8 This commit was generated by cvs2svn to compensate for changes in r11905,
which included commits to RCS files with non-trunk default branches.
1995-10-29 08:52:27 +00:00
Peter Wemm
066972d847 AARGH!!!!
Fix the hard-coded pathname to /usr/local/bin/co and /usr/local/bin/merge
that I missed...
1995-10-29 08:35:51 +00:00
Peter Wemm
d2be861745 First part of import conflict merge from rcs-5.7 import.
All those $Log$ entries, combined with the whitespace changes are a real
pain.

I'm committing this now, before it's completely finished to get it compiling
and working again ASAP.  Some of the FreeBSD specific features are not working
in this commit yet (mainly rlog stuff and $FreeBSD$ support)
1995-10-28 21:50:58 +00:00
Peter Wemm
5b4f007e0b Import rcs-5.7, required for full support of cvs-1.6.
This is going to be pretty messy....  Although the vendor import was correct,
both the vendor and release tags are the same "gnu"... :-/
Getting cvs to choose the correct one might be rather interesting...
1995-10-28 21:07:39 +00:00
Peter Wemm
7603e8a868 This commit was generated by cvs2svn to compensate for changes in r11891,
which included commits to RCS files with non-trunk default branches.
1995-10-28 21:07:39 +00:00
Andrey A. Chernov
febbdcfd7b Add setlocale LC_CTYPE 1995-10-28 19:44:29 +00:00
Andrey A. Chernov
021d0b0c13 Add setlocale LC_CTYPE
Fix ctype functions for 8bit charsets
1995-10-28 19:29:58 +00:00
Andrey A. Chernov
9203a11a55 Add setlocale LC_CTYPE
Fix icase searches for 8bit charsets
1995-10-28 19:16:14 +00:00
Peter Wemm
efce212686 Merge in/out comflicts caused by Diffutils-2.7 import...
In future, it should be as easy as "update -j ....", but this time I had to
go over it by hand.  Not nice..
1995-10-28 19:11:01 +00:00
Peter Wemm
ec9763539f Import GNU diffutils 2.7
Note, this is going to be messy.. 2.3 was vendor-branch imported, while
2.6 was done as a delta. Sigh.  I'm importing this on a vendor branch so
that it will be easier to deal with next time..

(cvs-1.6 wants rcs-5.7, and rcs-5.7 suggests diffutils-2.7)
1995-10-28 18:51:33 +00:00
Peter Wemm
ffb120cc30 This commit was generated by cvs2svn to compensate for changes in r11884,
which included commits to RCS files with non-trunk default branches.
1995-10-28 18:51:33 +00:00
Andrey A. Chernov
404392d45c Add setlocale LC_CTYPE 1995-10-28 14:30:50 +00:00
Andrey A. Chernov
5e45342eb4 Simplify FILES section in the same manner like groff manpage
does, add more koi8-r references
1995-10-28 12:56:05 +00:00
Andrey A. Chernov
102a0c6fe0 Add reference to koi8-r device, fix formatting a little 1995-10-28 12:49:38 +00:00
Andrey A. Chernov
dd724f1d0c Add reference to koi8-r device 1995-10-28 12:41:56 +00:00
Bill Paul
059a9bc2bb Add preliminary support for netgroup.byuser and netgroup.byhosts maps.
(I have to make another pass through here soon; awk doesn't handle
lines broken up with '\', which can sometimes appear in netgroup maps.)
1995-10-26 18:00:35 +00:00
Andrey A. Chernov
e931854069 Add setlocale LC_ALL 1995-10-26 11:12:39 +00:00
Andrey A. Chernov
ddfbe6be8d Add setlocale LC_ALL 1995-10-26 10:59:43 +00:00
Nate Williams
468f82b316 Run-time linker speedups - Round One
Implemented symbol memorizing to reduce the number of calls to lookup(),
making relocation go faster.  While relocating a given shared object,
the dynamic linker maintains a memorizing vector that is directly
indexed by the symbol number in the relocation entry.  The first time a
given symbol is looked up, the memorizing vector is filled in with a
pointer to the symbol table entry, and a pointer to the so_map of the
shared object in which the symbol was defined.  On subsequent uses of
the same symbol, that information is retrieved directly from the
memorizing vector, without calling lookup() again.

A symbol that is referenced in a relocation entry is typically
referenced in many relocation entries, so this memorizing reduces the
number of calls to lookup() dramatically.  The overall improvement in
the speed of dynamic linking is also dramatic -- as much as a factor of
three for programs that use many shared libaries.

Submitted by:	jdp@polstra.com "John Polstra"
1995-10-25 16:16:35 +00:00
Torsten Blum
59f0c0d522 fix bad dependencies (LIBMATH -> LIBM) 1995-10-25 15:08:21 +00:00
Torsten Blum
cef6c97a61 Fix a typo ("-It Fl" to ".It Fl")
document the "-P" switch

Obtained from: the NetBSD bugs mailinglist
1995-10-25 02:17:44 +00:00
Andrey A. Chernov
a4057ed8d3 Remove LD_NOSTD_PATH implementation, it isn't works and
can cause some problems.
Suggested-by: davidg
1995-10-24 06:48:16 +00:00
Bill Paul
da7408fc6d Add support for publickey.byname map (turned off by default since
we haven't imported the Secure RPC stuff yet).
1995-10-23 16:13:53 +00:00
Bill Paul
99bf54399a Eek! When we encounter a '+' or '-', the resulting action should be
'continue' rather than 'break'.
1995-10-23 16:03:41 +00:00
Bruce Evans
178d6c8706 Remove includes of the wrong ../Makefile.inc (one was commented out, the
other was in the wrong order).
1995-10-22 18:28:10 +00:00