Commit Graph

1261 Commits

Author SHA1 Message Date
jdp
2c2080f5a0 If errors occur during the loading of the shared libraries required by
the main program, report them directly from the dynamic linker and die
there, rather than returning an error message to crt0.o.  This enables
the printing of error messages even for old executables, whose version
of crt0.o is not able to print them.

This fix closes PR bin/1869.

The code in crt0.o for printing error messages from the dynamic linker
is no longer used, because of this change.  But it must remain, for
backward compatibility with older dynamic linkers.
1996-10-24 16:24:19 +00:00
ache
6744ae8129 Remove local fnmatch() copy, we now compatible with GNU fnmatch 1996-10-23 16:53:26 +00:00
phk
ea3476f34d Removing old isdn stuff. 1996-10-20 18:24:17 +00:00
joerg
21bccdcd4a Make it clear that a vendor-branch import adds something to the
existing sources.

Requested by: markm
1996-10-20 13:14:40 +00:00
markm
a47242683d BMakefile for gmp-2.0.2
Requested by: ache
Made world by: chuckr
1996-10-20 09:29:39 +00:00
markm
3a4806fc83 BMakefiles for gmp-2.0.2
Requested by: ache
Made world by: chuckr
1996-10-20 09:28:03 +00:00
markm
191d37d3c0 Remove the old libgmp. Version 2.0.2 is about to hit prime time. 1996-10-20 09:23:44 +00:00
markm
3584481e42 Remove the old libgmp. Version 2.0.2 is about to hit prime time. 1996-10-20 09:11:57 +00:00
markm
49cb308433 This commit was generated by cvs2svn to compensate for changes in r19045,
which included commits to RCS files with non-trunk default branches.
1996-10-20 08:09:18 +00:00
markm
95051df139 Import of GNU MP 2.0.2
This is a clean import with only the non-x86 bits removed. Makefiles and
other will follow.

Requested by:	Andrey Chernov
Made world by:	Chuck Robey
1996-10-20 08:09:18 +00:00
joerg
7153d808f5 Various fixes and FreeBSD modifications:
. remove the blubber about `submitter-id's from the man page, we don't
  use them,
. use REPLY_TO or REPLYTO in preference over LOGNAME as the value for
  the Reply-To address (closes PRs 1471 and its duplicates 1472 and 1823),
. don't abuse ~/.signature as ORGANIZATION, this is almost always
  useless blunder,
. actually list the Categories again, instead of xrefing to ``see
  above'' (closes PR 1835),
. check the Synopsis field for being not empty,
. make the mail Subject the same as Synopsis if left blank (closes
  PR 1209).

The remaining open send-pr related PRs (184 and its duplicate 1047,
and 1415) are pilot errors or local hardware problems.
1996-10-19 21:42:40 +00:00
jdp
193247f80b Fix two minor typos in the manual page. 1996-10-18 04:49:43 +00:00
peter
9aec27bf17 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
405f3d0e30 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
jdp
a61297ba87 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
jdp
e11a58ddc6 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
jdp
14b86859f7 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
5e60082391 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
wosch
000fb64288 delete doubled words, e.g.: "the the" -> "the" 1996-10-05 22:27:30 +00:00
peter
dceaaf8e82 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
jkh
82c3fac15a "CONTINUE" was just too long. Make it a nice "OK" now. 1996-10-04 13:06:48 +00:00
peter
5ba3a9a5ed To the Attic we go.. 1996-10-04 09:02:59 +00:00
peter
2108e41875 Add genclass to the subdir list 1996-10-04 08:45:34 +00:00
peter
0aaab405e6 Add libstdc++ to the SUBDIR list 1996-10-04 08:44:26 +00:00
peter
2fd17c4485 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
90009f2575 Initial attempt at a bmakefile for genclass. 1996-10-03 23:00:09 +00:00
peter
a6f11496de Initial shot at a bmakefile for libstdc++ 1996-10-03 22:52:23 +00:00
peter
084126c610 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
6a6edabfc3 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
9c042c8f51 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
f24d68a73a 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
69ea9ac338 Don't build config/i386/i386.o in the src/contrib/gcc tree..... :-] 1996-10-01 03:44:29 +00:00
peter
519e9b0911 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
7523d23ee7 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
7ad318175d 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
23b0588846 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
180a0b4f4a 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
84a69ec571 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
b3c93bb2d8 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
wosch
1b3dbceedf xVERSIONx -> 3.2; close PR 1404 1996-09-28 18:31:30 +00:00
wosch
75b1ede7c4 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
wosch
5b3a6e6fa1 test 37: [b-a] is a syntax error and exit with status 2 1996-09-27 19:40:39 +00:00
wosch
6d1aa03c4c grep(1) should not parse manpages as arguments.
Now `apropos -xfer' works.
1996-09-27 17:36:50 +00:00
wosch
e5c1c9b037 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
bde
86c863abe8 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
bde
d2512c2bf9 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
wosch
89dea7c61d add missing comma(s) in .Xr macros 1996-09-23 22:24:39 +00:00
bde
0f0cfd5fc9 cpp was named ccp. 1996-09-23 16:12:38 +00:00
peter
58119af893 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
pst
69c1743fff Fix up some compilation warnings. 1996-09-22 00:55:46 +00:00