Commit Graph

587 Commits

Author SHA1 Message Date
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
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
Joerg Wunsch
215568d2a2 Merge version 1.04 into HEAD. 1995-10-22 14:04:37 +00:00
Joerg Wunsch
56c256e933 This commit was generated by cvs2svn to compensate for changes in r11646,
which included commits to RCS files with non-trunk default branches.
1995-10-22 10:11:03 +00:00
Joerg Wunsch
3f2e9a763f Import version 1.04 of mkisofs.
This is a vendor-branch import by now, the merge with our regular
tree will happen later.

Obtained from: Eric Youngdale of Yggdrasil Computing Inc.
1995-10-22 10:11:03 +00:00
Bruce Evans
02b537bd23 Remove private maninstall target. It will conflict with the one in
bsd.man.mk when I change the latter to use `::' instead of `:'
dependencies.  (bsd.man.mk is included because NOMAN isn't defined.
The maninstall target is supposed to be private to bsd.man.mk so
bsd.man.mk doesn't bother testing if it is already defined.  The
test for redefinition in Makefile.dev was too early to do anything.)

Change install target to a beforeinstall target (perhaps there should
be an `extrainstall' target so that Makefiles don't have to abuse
one of beforeinstall, install, realinstall or afterinstall).  Don't
bother testing for the install target already being defined.  Rewrite
the shell loop as a make loop (this reduces the time for installing
groff from 78s to 65s here).
1995-10-21 16:26:38 +00:00
Andrey A. Chernov
b2105a0990 if uid != euid or gid != egid unsetenv("LD_NOSTD_PATH") too 1995-10-21 14:52:48 +00:00
Bruce Evans
03e5b81db4 Rewrite and merge some bogus makefiles to create Makefile.shprog. Just
include this in the old makefiles.

I intended to fix only the private maninstall rule but found a lot of
other bogons and bugs:
- strong resistance to installing the program anywhere other than
  ${DESTDIR}/usr/bin (first, ../../Makefile.inc was not included.
  ../Makefile/inc was redundantly included instead.  Second, /usr/bin
  was hard coded).
- the owner, group and permissions were hard coded.
- the man page was installed twice.
- MANDEPEND wasn't necessary.
- calculations to determine the obj directory weren't necessary.
- there were unnecessary private rules for depend, rcsfreeze and tags.
  We don't support the rcsfreeze target.
- there was an extra, bogus, rule for `all'.

The final version uses suffix rules to eliminate the remaining verboseness
involving directories (${.CURDIR}) and to potentially allow multiple
shell programs in one directory.
1995-10-21 14:27:19 +00:00
David Greenman
694ae82790 When building -static, link with special scrt0.o instead of crt0.o. This
reduces the text size by about 1.5Kbytes.
1995-10-18 04:28:31 +00:00
Gary Clark II
171a357ba5 Change UNIX to FreeBSD.
I got tired of see ``UNIX System Managers Manual''

NOTE: There still a couple of UNIXs left in here.  There deal with the
documents.  We may want to change there also, even though VERY little of there
even pertain to FreeBSD.
1995-10-10 11:34:10 +00:00
Nate Williams
c68c38c86b This is a FreeBSD manpage, not a NetBSD manpage. :) 1995-10-05 05:16:52 +00:00
Garrett Wollman
401a157932 Make cc1plus smaller and faster as was done for cc1 by linking static. 1995-10-02 16:37:16 +00:00
David Greenman
1661971e0f Build cc1 nonshared. This actually results in it consuming 40K *less* disk
space and improves compile times by a few percent.
1995-10-01 20:16:27 +00:00
Bruce Evans
7da87484df Fix checks for open() failing. open() may successfully return 0.
ld.c:
Fix a an error message that said that open() failed after fopen() failed.
1995-09-28 19:43:22 +00:00
Bruce Evans
252eedb90d Intitialize $(tmac_s_ and $(tmac_m). Use the initialized variable $(device)
instead of the uninitialized one $(DEVICE).

I hoped these changes would fix some of the large runtime macro processing
bugs, but they seem to only fix some small build-time macro substitution
bugs.  E.g., `man ms' now tells you to invoke groff with the flags `-ms'
instead of the bogus flags `-m'; `man groff now tells you that the default
device is `ps' instead of the bogus device `'.
1995-09-28 19:31:07 +00:00
Nate Williams
6f5457454c Make the error message more readable when 'ld.so' cannot locate a needed
shared library.  Formerly, the message looked like this:

    ld.so: run: libjdp1.so.1.0: Undefined error: 0

The new message looks like this:

    ld.so: run: Can't find shared library "libjdp1.so.1.0"

(Where "run" is the name of the program being executed.)

Submitted by:	jdp@polstra.com (John Polstra)
1995-09-27 23:17:33 +00:00
Nate Williams
e1ec3d8b3c Fixup the "ld.so failed" message for the case when ld.so finds undefined
symbols.

An easy example to see this is to develop an X program which links
against Xt, but doesn't add -lX11 to the link line.  It will link fine,
but cause run-time errors by ld.so because of missing symbols used by Xt
defined in X11.  This patch makes the errors more readable.

Submitted by:   jdp@polstra.com (John Polstra)
1995-09-27 23:14:08 +00:00
Poul-Henning Kamp
0ad2ff70ee Stop using gnumalloc. 1995-09-22 14:14:32 +00:00
Justin T. Gibbs
312b98f6bb Give "Index" specified filenames preference over other filenames specified
in the diff.  This makes it so that diffs containing files in different
subdirectories that have the same name not patch the same file.  For example
a diff with patches to Makefile, des/Makefile, usr.bin/Makefile would attempt
to patch Makefile three times.
1995-09-14 04:33:35 +00:00
Bruce Evans
3eb77f2c54 Output a zero rdev except for bdevs, cdevs, fifos and sockets. This
stops regular files with unrepresentable rdevs from being rejected
and makes the output independent of unpreservable metadata.
1995-09-12 16:38:16 +00:00
Joerg Wunsch
6f4da234fb Fix a few minor bugs in makewhatis.
Submitted by:	wosch@cs.tu-berlin.de (Wolfram Schneider)
1995-09-10 13:05:52 +00:00
Joerg Wunsch
60ce5bccf0 Re-initialize the terminal after ^Z / fg.
Submitted by:	thomas@ghpc8.ihf.rwth-aachen.de (Thomas Gellekum)
1995-09-10 13:04:45 +00:00
Peter Wemm
608eba4889 Put a bandaid on the NULL pointer dereference caused by doing an
"update -jHEAD" when a file has been added on the specified tag.

It doesn't actually make cvs 'handle' it, it just stops it from dying
and leaving stray locks and other wreckage.

This was suggested by the CVS maintainers, and is in cvs-1.5.1-950901.
1995-09-03 05:05:31 +00:00
Jordan K. Hubbard
4f898a4b38 Add MLINKS for sendbug manpage.
Suggested by:	paul
1995-08-29 13:01:40 +00:00
Jordan K. Hubbard
38f7fda14c Link send-pr to sendbug. sendbug is back! hurrah! 1995-08-28 23:16:28 +00:00
Joerg Wunsch
19d57e6d9d Import Paul Kranenburg's man page for ld.so (aka. rtld).
Obtained from:	NetBSD
1995-08-26 13:17:39 +00:00
Paul Traina
985c84c80e Clean up compilation warnings. 1995-08-23 05:37:24 +00:00
Paul Traina
3dcf64dcf0 Fix compilation warnings. 1995-08-23 05:35:03 +00:00
Joerg Wunsch
1c7895ac54 Reset the umask before creating the output file; otherwise running
ldconfig as root with a restrictive umask yielded ld.so.hints
unreadable by the world (and thus useless).
1995-08-16 06:31:50 +00:00
Peter Wemm
f4df6549b2 This changes two things when importing an unreadable file:
1: It stops invalid files being created in the cvs tree
2: It stops the import from aborting without mailing a commit message..

The first is simple, it opens the file for reading before touching the
repository, and the second catches the pieces when it hits an unreadable
file rather than just aborting mid-way through, leaving the repository in
a bit mess.

Reviewed by:	rgrimes
1995-08-15 20:38:00 +00:00
Andrey A. Chernov
668eb4585f Replace ctime by strftime %c to use national representation 1995-08-08 03:20:25 +00:00
Andrey A. Chernov
6de8ce1a74 Replace ctime by strftime %c to use national representation 1995-08-08 03:07:15 +00:00
Joerg Wunsch
6aefd62078 Make only a -r' flag (as opposed to -r*') special within the
LINK_SPEC.  This solves a problem with the f77 frontend where
aproviding the -r8 option (use REAL*8) caused `cc' to ``forget'' to
pass the entry point to the linker.

Closes PR #gnu/644: f77 -r8

Reviewed by:	watanabe@komadori.earth.s.kobe-u.ac.jp (Takeshi WATANABE)
1995-08-04 17:11:32 +00:00
Paul Traina
522aab930c Don't build xditview unless the actual include files for X11 are present.
Merely checking for the directory is -not- sufficient, since the XFree86
non-programmers distribution has that directory to hold bitmaps.
1995-07-29 17:47:53 +00:00
Bruce Evans
9c0dc173cc Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
Bruce Evans
db1e9e9ea9 Change install' to ${INSTALL}' as usual.
Use -c, not ${COPY}, to install `dir'.  ${COPY} should never be used to
install source files.  The source might be lost if the default is overridden.
1995-07-25 00:12:06 +00:00
Bruce Evans
ddb43e8bd8 Change install' to ${INSTALL}' as usual.
Don't remove targets before installing.  Removing targets will defeat
`install -C'.
1995-07-24 23:51:48 +00:00
Joerg Wunsch
37e0d97047 Make the tag checks more strict according to Rod's wishes.
Reviewed by:
Submitted by:
Obtained from:
1995-07-23 17:34:00 +00:00
Joerg Wunsch
d6d2ae6a56 Remove my last week's CFLAGS hack from Makefile.inc, and fix
info/Makefile instead to not clobber the settings inherited from
/etc/make.conf.
1995-07-16 10:24:18 +00:00
Rodney W. Grimes
c7e5c6a843 Make ld's error messages consistent with gcc when no input files
are given on the command line.

Submitted by:	Thomas Graichen <graichen@omega.physik.fu-berlin.de>
1995-07-13 08:30:07 +00:00
Bruce Evans
460396d6ee Fix dependencies for gcc.info and reno.info. `make depend' doesn't handle
info files although texinfo supports @include.
1995-07-12 18:57:21 +00:00
Joerg Wunsch
c3081fb7f9 I added a few lines of code to the latest info browser in the
texinfo-3.6 distribution to enable the use of the cursor keys.
Since there is an open problem report (gnu/289) for this it might be
of interest for (some of) you.

I (Joerg) have also added a minor hack that makes info recognizing a
window size change while it has been suspended.

Submitted by:	thomas@ghpc8.ihf.rwth-aachen.de (Thomas Gellekum)
1995-07-08 16:46:13 +00:00
Bruce Evans
a7aac2725f Add a dependency on the .x source file and avoid copying it.
bootparam_prot.x was changed for nfsv3 but bootparamd and callbootd
kept using the old version which fortunately failed at build time.
Copying hasn't been necessary since path handling was fixed in
rpcgen/rpc_main.c some time ago.
1995-07-04 08:39:27 +00:00
Doug Rabson
82aaeb09ad Change ld.so to correctly load dependant libraries for dlopen and unload them
on dlclose.  Also correctly call constructors and destructors for libraries
linked with /usr/lib/c++rt0.o.
Change interpretation of dlopen manpage to call _init() rather than init()
for dlopened objects.
Change c++rt0.o to avoid using atexit to call destructors, allowing dlclose to
call destructors when an object is unloaded.
Change interface between crt0 and ld.so to allow crt0 to call a function on
exit to call destructors for shared libraries explicitly.

These changes are backwards compatible.  Old binaries will work with the new
ld.so and new binaries will work with the old ld.so.  A version number has
been introduced in the crt0-ld.so interface to allow for future changes.

Reviewed by:	GAWollman, Craig Struble <cstruble@singularity.bevc.blacksburg.va.us>
1995-06-27 09:53:27 +00:00
Bruce Evans
278e874772 Remove bogus references to /usr/ucb. 1995-06-26 06:40:23 +00:00