Commit Graph

1211 Commits

Author SHA1 Message Date
John Polstra 16804804df Fix two minor typos in the manual page. 1996-10-18 04:49:43 +00:00
Peter Wemm 4023b3033b Build/install c++filt from g++, we already have all the sources and
it's and useful. (Ever tried to read 'nm' and 'ldd -v' output on a c++
object or library? :-) This filter decodes the mangled symbol names.)

Requested by: Chuck Robey <chuckr@glue.umd.edu>
1996-10-13 17:37:03 +00:00
Joerg Wunsch d1a3967b59 Catch a situation where the tty speed might be 0 (in the case of UUCP
over TCP), but is used as a divisor later, causing uucico to abort
with a SIGFPE.

Reviewed by:	Ian Lance Taylor <ian@cygnus.com>
1996-10-12 10:41:56 +00:00
John Polstra e5bbb2e4b5 Add the search directories from the hints file only the first time it is
opened.  After that, the directories are already present, and there is
no point in adding them again.  This doesn't fix any bugs; it's just for
efficiency.
1996-10-10 23:16:50 +00:00
John Polstra 7c6da7dcef Add a new option "-f hints_file" to specify an alternate file instead of
"/var/run/ld.so.hints".

Delete an incorrect statement about LD_LIBRARY_PATH from the manual
page.
1996-10-10 23:14:23 +00:00
John Polstra 9151bb8d2d Fix a bug that caused a segmentation violation if dlsym() was called
with its first argument equal to NULL.
1996-10-10 04:10:32 +00:00
Peter Wemm 210d012784 Use ${INSTALL} -C instead of -c. I did it with -C originally, but during
testing I changed it to -c to check for missed files by looking at time
stamps in /usr/include/g++.

Submitted by: "Philippe Charnier" <charnier@xp11.frmug.org>
1996-10-07 23:38:08 +00:00
Wolfram Schneider e83201b43a delete doubled words, e.g.: "the the" -> "the" 1996-10-05 22:27:30 +00:00
Peter Wemm 74a20d397d Oops, an editing error at one point meant I had missed the osfcn.h header
(it was directly underneath where bool.h used to be in the list, I think
 I must have not been paying attention and deleted a word from the wrong
 line.  The machine that I was testing on still had an (old?) osfcn.h file)

Pointed out by: Andreas Klemm <andreas@klemm.gtn.com>
1996-10-04 15:11:42 +00:00
Jordan K. Hubbard 3cd2d3f69a "CONTINUE" was just too long. Make it a nice "OK" now. 1996-10-04 13:06:48 +00:00
Peter Wemm cb03015500 To the Attic we go.. 1996-10-04 09:02:59 +00:00
Peter Wemm 5908a75555 Add genclass to the subdir list 1996-10-04 08:45:34 +00:00
Peter Wemm e27edaff41 Add libstdc++ to the SUBDIR list 1996-10-04 08:44:26 +00:00
Peter Wemm 73456abd78 Update to use the contrib/libg++ version, now that my (slow) 486 has
finished a 'make world'.
1996-10-04 08:43:37 +00:00
Peter Wemm 3c4c579d13 Initial attempt at a bmakefile for genclass. 1996-10-03 23:00:09 +00:00
Peter Wemm 99dd87778d Initial shot at a bmakefile for libstdc++ 1996-10-03 22:52:23 +00:00
Peter Wemm e8d53f09e3 Ugly hack alert!
libg++'s exception code causes gcc to generate (ahem!) non-conventional
assembler code in -fpic mode that gas and ld choke on.  Basically, gas
and ld require than symbols referenced in the GOT (global offset table)
are actually global (as the name implies).  It attempted to work around
it before, but didn't quite go far enough to prevent a core dump in ld.
This hack causes GOT referenced symbols to be forced global.  This
probably breaks the __EXCEPTION_TABLE__ stuff in pic mode, but heck, it
wasn't even possible to compile with a shared library before at all.

I'm not 100% sure what the bug is.  There's two possibilities:
1: gcc/cp/exception.c has to be fixed to stop doing GOT references to
   local symbols, or
2: as/ld/symorder/ld.so etc need to be taught about how to keep local
   symbols around so that they can be dealt with in GOT references.

John Polstra's elfkit stuff seems to deal with this fine though, which is
why I think it's a "missing feature" in our hacked gas and ld..
1996-10-03 08:07:38 +00:00
Nate Williams 9ac501e21b There's no need to 'unsetenv()' unsafe environment variables explicitly
since rt_readenv() already takes care of not setting unsafe variables.
This was part of the changes I submitted to Peter and John during the
review which must have gotten missed.
1996-10-01 16:09:18 +00:00
Peter Wemm 3e17261bac Sigh, oh well, here's my obligigatory "oops" commit. I don't quite know
how I managed to get this out of sync, but I did.  I guess that's what I
get for directly committing from different machines that I was testing on.

Pointed out by: Paul Traina <pst@freebsd.org>
1996-10-01 11:54:38 +00:00
Peter Wemm 090d47a84f Resync the libgcc functions list with the 2.7.2.1 tree. We were building
a (now) defunct routine that no longer exists (causing an empty .o file),
and were missing some others.  Some of the ones we were missing are no-ops
on the i386, so there are now 4 empty .o files.

(It seems that libc/quad has got some defunct functions now)
1996-10-01 03:47:36 +00:00
Peter Wemm a4136bfcfc Don't build config/i386/i386.o in the src/contrib/gcc tree..... :-] 1996-10-01 03:44:29 +00:00
Peter Wemm 9731d13765 Incorporate John Polstra's sods.c display of the details about the
dynamic linking information in the executable.  It's quite extensive.
It's connected to ldd's (new) -v option.
1996-10-01 02:16:16 +00:00
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
Bruce Evans 0c8ea4d48c Eliminated includes of the "temporary" backwards compatibility header
<sys/dir.h> in applications.  Maintained existing (inadequate) ifdefs
for dir.h vs dirent.h in libdialog, amd and rarpd, but didn't add any
new ones.
1996-09-24 08:08:11 +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 f19798ebd2 Add libobjc, the Objective-C runtime library. 1996-09-19 16:19:49 +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