Commit Graph

809 Commits

Author SHA1 Message Date
Peter Wemm
5584286a91 Update to handle new version ld.so.hints and info in executable for
configurable fallback search paths, as well as new crt interface version.

Also:
 - even faster getenv(), get all environment variable settings in a single
   pass.
 - ldd printf-like format specifications
 - minor code cleanups, one vsprintf -> vsnprintf (harmless)

The library search sequence is a little more complete now. Before,
it'd search $LD_LIBRARY_PATH (by opendir/readdir/closedir), then read
the hints file, then read /usr/lib (again by scanning thr directory).  It
would then fail if there was no "found" library.

Now, it does LD_LIBRARY_PATH and the hints file the same, but then uses
a longer fallback path.  The -R path is fetched from the executable if
specified at build time, the ldconfig path is appended, and /usr/lib is
appended to that. Duplicates are suppressed.  This means that simply
placing a new library in /usr/local/lib will work (the same as it did in
/usr/lib) without needing ldconfig -m.  It will find it quicker if the
ldconfig is run though.

Similar changes have been made to the NetBSD ld.so, but ours is rather
different now due to John Polstra's speedups and fixes from a while back.

The ldd printf-like format support came direct from NetBSD.

Reviewed by: nate, jdp
1996-10-01 01:52:03 +00:00
Peter Wemm
d138df6140 Support for specifying printf-like output specs to control the ldd output
as present in the new rtld version.

Obtained from: NetBSD
Reviewed by: nate, jdp
1996-10-01 01:34:32 +00:00
Peter Wemm
80c714994d Updates to deal with ld.so.hints version 2. It now deals with the
ldconfig path (from NetBSD).  I added code to make sure there were no
duplicates in the path when multiple ldconfig -m's were used.

Reviewed by: nate, jdp
Obtained from: NetBSD (partly)
1996-10-01 01:31:51 +00:00
Peter Wemm
b186571cf6 Update the backends to go with the top-level ld changes. The non-i386
changes are for completeness, I don't think they work.  There are changes
to deal with the new include files.

Obtained from: NetBSD (mostly)
1996-10-01 01:28:10 +00:00
Peter Wemm
d0a184df5d Support for .weak (in addition to the N_INDR stab) for gcc/g++. Also deal
with the -R option and store the path in the dynamic header when specified.
The $LD_RUN_PATH environment variable is not checked yet.

While here, split up the code a bit more to enable more selective replacing
of GPL'ed components that are linked with ld.so with others.

Obtained from: NetBSD (mostly, the breakup is my fault)
1996-10-01 01:22:51 +00:00
Peter Wemm
75f88ba495 Mostly resync our gas with the NetBSD version to obtain support for
.weak as gcc and g++ would like to use.

This includes changes to other architectures mostly for completeness,
I don't expect cross-assemblink would work but I could be wrong.

Obtained from: NetBSD
1996-10-01 00:13:54 +00:00
Wolfram Schneider
0dde7f4fca xVERSIONx -> 3.2; close PR 1404 1996-09-28 18:31:30 +00:00
Wolfram Schneider
d7c71d3534 grep -q pattern file
search 'pattern' in whole file 'file', from top to bottom.  This is
not necessary; if grep found 'pattern' it can stop further searching
in file 'file'.

Example:

$ time ./grep-old -q Adam /usr/share/dict/*
        1.93 real         1.05 user         0.85 sys
$ time ./grep-new -q Adam /usr/share/dict/*
        0.14 real         0.06 user         0.06 sys
1996-09-27 19:44:46 +00:00
Wolfram Schneider
8a9374d25b test 37: [b-a] is a syntax error and exit with status 2 1996-09-27 19:40:39 +00:00
Wolfram Schneider
412467fa26 grep(1) should not parse manpages as arguments.
Now `apropos -xfer' works.
1996-09-27 17:36:50 +00:00
Wolfram Schneider
633b3caa8f Reverts exit status for man -k' and man -f'.
Man(1) now return 0 if apropos/whatis return 0, otherwise 1.
1996-09-27 17:34:57 +00:00
Bruce Evans
4523edce8b Really eliminated includes of the "temporary" backwards compatibility
header <sys/dir.h> in applications.  My previous sweep didn't find the
places that included it without needing it.
1996-09-24 08:43:04 +00:00
Wolfram Schneider
e0e5145ce6 add missing comma(s) in .Xr macros 1996-09-23 22:24:39 +00:00
Bruce Evans
08eb1b8719 cpp was named ccp. 1996-09-23 16:12:38 +00:00
Peter Wemm
6f78ed368c Crude hack to work around cpp.1 doing a .so man1/cccp.1
Pointed out by: Warner Losh <imp@village.org>, PR#1667
1996-09-23 04:14:30 +00:00
Paul Traina
79b3126fb3 Fix up some compilation warnings. 1996-09-22 00:55:46 +00:00
Jordan K. Hubbard
926a83ef42 Nuke a trailing .endif which survived Peter's last edits. 1996-09-21 17:49:45 +00:00
Peter Wemm
8fb64f20b5 Remove the partial support for a shared -lcc_int, since it's been unusable
for a fair while.  cc1, cc1plus etc have been linked static for some time.
1996-09-21 14:27:38 +00:00
Bruce Evans
7dbead4e23 Fixed bogus obj target (found by objwarn check).
Removed unnecessary clean and cleandir targets.  The defaults are
adequate and we never bothered overriding the default for all,
depend, lint or tags.,
1996-09-20 18:04:26 +00:00
Andrey A. Chernov
b32992bc3f Replace GNU-made __P definition by standard from sys/cdefs.h 1996-09-20 14:33:48 +00:00
Peter Wemm
a1b588fd3f Man the lifeboats! Tie down the hatches! Red alert! Activate gcc-2.7.2.1!
(the old cc has been tagged with "gcc_2_6_3_final" so we have a reference
 point in case of unforseen disasters...)

This has the objc backend active, and I think I've managed to get the
f77 f2c support through in one piece, but I don't know fortran to test it.

A 'make world' change and libobjc commit will follow.

If you normally do 'make -DNOCLEAN world', do not do so this time, I know
it can fail with groff.

This version of gcc makes a **LOT** more warnings on our kernel.
1996-09-19 15:53:53 +00:00
Paul Traina
cfa804d6ba Grab h2ph from /usr/bin, not /usr/local/bin! 1996-09-17 01:14:18 +00:00
Wolfram Schneider
fe0614bf6e Set enviroment variable PAGER=pager if using option `man -P pager'
This inherit variable PAGER for childs like whatis(1), e.g.
`man -P less -k man' should now work like expected.  Close PR#1068
1996-09-16 22:52:02 +00:00
Wolfram Schneider
728999c8b2 Cleanup exit status; 2: syntax error, 0: keyword matched,
$exit_nomatch: no keyword matched. Default value for variable
exit_nomatch is 0 because `man -k' don't like exit status != 0

Detected by: "Stephen J. Roznowski" <sjr@zombie.ncsc.mil>
1996-09-14 23:20:33 +00:00
Bruce Evans
87d0dcafca Use `install -C' instead of lots of shell commands to install ld.so
as atomically as possible.

(Immutable targets can't be renamed without opening a window when
neither the source nor the target is immutable.  Perhaps there
should be a rename_immutable syscall to do this if unsetting the
immutable flags would work.)
1996-09-12 03:42:54 +00:00
John Fieber
29c8b5b52b Add missing tmac.lj4 (for PCL driver) 1996-09-11 22:16:59 +00:00
Peter Wemm
aaa315477e add bison, gperf 1996-09-10 14:04:37 +00:00
Peter Wemm
4a82da6962 add bmakefiles 1996-09-10 14:03:12 +00:00
Peter Wemm
78c10f4a0d Add bmakefiles to compile bison. 1996-09-10 13:23:46 +00:00
Poul-Henning Kamp
b6b34a5e0f DISTDIR is a reserved variable for make release
s/DISTDIR/DIST_DIR/g
1996-09-09 18:05:29 +00:00
Paul Traina
de906456ec long live groff 1996-09-08 01:30:16 +00:00
Paul Traina
f7c160386a ...long live groff 1996-09-08 01:27:58 +00:00
Paul Traina
e72c5689b0 Initial revision 1996-09-08 01:21:19 +00:00
Paul Traina
c8f36f3496 Groff is dead... 1996-09-08 01:09:04 +00:00
Paul Traina
604a5013e8 Add Russian language / koi8-r font support.
Original author: ache
1996-09-08 00:28:32 +00:00
Paul Traina
b3e7b046b0 Add psroff command 1996-09-08 00:26:24 +00:00
Bruce Evans
5b963fa12e Fixed DPADD. 1996-09-05 17:16:10 +00:00
Peter Wemm
f9079aa26a forgot to reconnect easy-import to the Makefile 1996-09-05 08:43:50 +00:00
Wolfram Schneider
b8923d4cc0 [HISTORY] command appeared in Version 1 AT&T UNIX
Obtained from: A Quarter Century of UNIX, Peter H. Salus, page 41
1996-08-29 18:06:19 +00:00
Wolfram Schneider
a0228a8384 add Version 1 AT&T UNIX to .At macro 1996-08-28 22:37:00 +00:00
Bruce Evans
e8caab9f75 Don't install zgrep twice. 1996-08-28 15:45:32 +00:00
Wolfram Schneider
5a80fb277e sync copyright with /usr/share/examples/etc/bsd-style-copyright 1996-08-27 20:04:45 +00:00
Peter Wemm
8c2e11aad8 Ack! Don't install cvs.info.gz etc in /usr/bin... 1996-08-21 00:57:26 +00:00
Peter Wemm
3c29b67696 Make the CVSvn.texi dependency hack work a little better.. 1996-08-21 00:35:53 +00:00
Peter Wemm
3ea3e5fcb4 Oops, forgot to 'cvs add' this one. 1996-08-21 00:04:28 +00:00
Peter Wemm
8787dbbafe Update to use the cvs-1.8.1 sources from src/contrib/cvs 1996-08-20 23:58:03 +00:00
Joerg Wunsch
8048172ded Ensure at least one space between the module name and the module path.
Detected by: asami
1996-08-20 20:37:47 +00:00
Andrey A. Chernov
587ad47a9b Pick collate info fo ranges 1996-08-20 14:22:57 +00:00
Wolfram Schneider
361e0905ef make install should not install any file in /etc. 1996-08-17 22:27:08 +00:00
Andrey A. Chernov
f1eecc5283 8bit clean ctype fixes 1996-08-15 22:55:53 +00:00