Commit Graph

570 Commits

Author SHA1 Message Date
jdp
c50bd3ff4b Make LD_PRELOAD work for ELF. 1998-09-22 02:09:56 +00:00
obrien
18dba2fe21 Remove useless `BINOWN=root' now that it is the default. 1998-09-19 22:42:06 +00:00
dfr
0cc253cb74 Work around an alpha compiler bug.
Reviewed by: Kenneth D. Merry <ken@plutotech.com>
1998-09-16 21:33:14 +00:00
jdp
7bf4199b5f Fix a bug that showed up when debugging dynamically linked programs.
References from GDB to "printf" and various other functions would
find the versions in the dynamic linker itself, rather than the
versions in the program's libc.  This fix moves the GDB link map
entry for the dynamic linker to the end of the search list, where
its symbols will be found only if they are not found anywhere else.
It was suggested by Doug Rabson, though I implemented it a little
differently.

I personally would prefer to leave the dynamic linker's entry out
of the GDB search list altogether.  But Doug argues that it is
handy there for such things as setting breakpoints on dlopen().
So it stays for now, at least.

Note, if we ever integrate the dynamic linker with libc (which has
several important benefits to recommend it), this whole problem
goes away.
1998-09-16 02:54:08 +00:00
jdp
2d0810fe03 Make the pathname pointed to by the Obj_Entry structure for the
dynamic linker itself dynamically allocated.  All of them are
supposed to be dynamically allocated, but we cheated before.  It
made gdb unhappy under some circumstances.
1998-09-15 21:07:52 +00:00
gibbs
1bb65e0d8a Update system to new device statistics code.
Submitted by:	"Kenneth D. Merry" <ken@plutotech.com>
		mike@smith.net.au (Mike Smith)
1998-09-15 08:15:30 +00:00
dfr
e7ebeff9f3 Update to the binutils-2.9.1 PLT format. 1998-09-11 18:31:55 +00:00
dfr
206d048a70 Add the r_addend of the relocation when processing GLOB_DAT relocations. 1998-09-11 18:30:55 +00:00
dfr
4f35de094d Fix a cut&paste error which prevented LD_BIND_NOW from working. 1998-09-08 09:47:35 +00:00
jdp
2b7c06f6c8 Don't recognize a file as an a.out shared library unless it has at
least 2 version numbers.  This fixes the bug where the dynamic
linker would try to load an ELF shared library if it found one.

Note, this change also fixes the same thing in "ld", because the
code is shared.

For "ld" there is still a problem with ".a" libraries, which cannot
be distinguished by name.  I haven't decided what, if anything, to
do about that.
1998-09-05 20:28:48 +00:00
jb
9e041297f2 Chaneg MACHINE to MACHINE_ARCH to support MACHINE=pc98.
Remove a couple of unsupported machines.
1998-09-05 08:33:10 +00:00
jb
3e545efab0 Chaneg MACHINE to MACHINE_ARCH to support MACHINE=pc98. 1998-09-05 08:31:10 +00:00
jdp
6c76bd6d54 Implement ldconfig functionality for ELF. The hints are stored in
a different file than the a.out hints, namely, "/var/run/ld-elf.so.hints".
These hints consist only of the directory search path.  There is
no hash table as in the a.out hints, because ELF doesn't have to
search for the file with the highest minor version number.  (It
doesn't have minor version numbers at all.)

A single run of ldconfig updates either the a.out hints or the ELF
hints, but not both.  The set of hints to process is selected in
the usual way, via /etc/objformat, or ${OBJFORMAT}, or the "-aout"
or "-elf" command line option.  The rationale is that you probably
want to search different directories for ELF than for a.out.

"ldconfig -r" is faked up to produce output like we are used to,
except that for ELF there are no minor version numbers.  This should
enable "ldconfig -r" to be used for checking LIB_DEPENDS in ports
even for ELF.

I implemented the ELF functionality in a new source file, with an
eye toward eliminating the a.out code entirely at some point in
the future.
1998-09-05 03:31:00 +00:00
jb
b3bc350baa Add -lcrypt when building kerberos. 1998-09-05 00:32:27 +00:00
jb
b2f4b022d2 Enable rtld-elf for build on alpha too. We now have support for shared
libraries on alpha!
1998-09-04 22:55:17 +00:00
dfr
b5ab30c0dc Add alpha support.
Submitted by: John Birrell <jb@cimlogic.com.au> (with extra hacks by me)
Obtained from: Probably NetBSD
1998-09-04 19:03:57 +00:00
jdp
45eff87b42 Suppress duplicate entries in ldd output. 1998-09-02 02:51:12 +00:00
jdp
6bd2d04608 Style fixes. If it seems like a lot of lines of changes, it's
because I moved some functions.  Mr. Tidy likes them to be in
alphabetical order.
1998-09-02 02:00:20 +00:00
jdp
81ca502a92 Handle dlsym(NULL, ...) properly, by searching in the caller's
shared object.  Note, this searches _only_ that object, and not its
needed objects, in accordance with the documentation.

Also fix dlopen(NULL, ...) so that the executable's needed objects
are searched as well as the executable itself.
1998-09-02 01:09:34 +00:00
wosch
68cda92e4a Sort cross references. 1998-08-31 16:41:09 +00:00
jb
e6edac6dac BINFORMAT -> OBJFORMAT ready for E-day. 1998-08-30 01:57:55 +00:00
mckay
bb26cf57dc Pass me the pointy hat with the extra sequins. Just a moment, while I get
it to sit right...

The __error() hack gave out the wrong address.  It returned the address of
errno in ld.so instead of the address of errno in the main program.  Oops.

The hack is now correct, just in time to be obsoleted by elf.
1998-08-22 15:51:41 +00:00
jb
c237eaa035 Update this header to use the revamped elf headers which select Elf32
or Elf64 based on the inclusion of the machine dependent header.

I've left the addition of the extra fields to handle the relocation
structures with addend for a separate commit after jdp has had a chance
to review what I've done. The current change is needed to compile
csu/alpha/crt1.c
1998-08-21 03:29:40 +00:00
jdp
0d5b915ae3 Add "-C" to INSTALLFLAGS to install atomically. An elf->elf
installworld dies at this point otherwise, leaving the system
without a dynamic linker.
1998-08-17 04:59:15 +00:00
markm
ec4dc9550e Fix LIBDIR (for aout/ELF). 1998-08-06 21:41:13 +00:00
peter
5aa396da7f Build mail.local and smrsh (when building sendmail) 1998-08-04 15:32:43 +00:00
peter
48e49c7164 Build sendmail-8.9.1 smrsh 1998-08-04 15:31:31 +00:00
peter
082d9275b1 Use sendmail-8.9.1 mail.local (with our changes). It has LMTP support. 1998-08-04 15:30:17 +00:00
bde
1d56e79a13 Fixed printf format errors. 1998-08-02 16:44:18 +00:00
phk
a08d63f654 Getty is missing the speed table entry for 230400 baud.
PR:		7280
Reviewed by:	phk
Submitted by:	Craig Leres <leres@ee.lbl.gov>
1998-07-22 05:57:22 +00:00
steve
b85e472e7e Remove no longer needed FreeBSD specific code.
PR:		5497
Submitted by:	Jacob Bohn Lorensen <jacob@jblhome.ping.mk>
Obtained from:	OpenBSD (indirectly it seems so just to be safe)
1998-07-20 04:52:26 +00:00
jkoshy
2d02bdedf2 Document the use of lines beginning with a '#' as comment lines.
PR: 5676
1998-07-09 11:38:21 +00:00
jkoshy
4025ef571e Clean up grammar. Provide proper pathnames for spool directories.
Document dependency on current load average for starting new batch jobs.

PR: 7109
1998-07-01 05:47:58 +00:00
bde
a468add075 Fixed printf format errors. 1998-06-30 15:19:51 +00:00
bde
122886a1e0 Don't assume that time_t is long. 1998-06-29 17:06:00 +00:00
bde
0b0c5d1c4e Don't assume that time_t is long. Fixed printf format errors. 1998-06-29 16:47:08 +00:00
mckay
446517db81 Since I got no objections to this patch, and no one has offered any
alternative, I present .. ta! da! .. the __error() hack.

This patch to the a.out dynamic loader provides old a.out binaries
with __error() if they are linked with an older libc that lacks it,
but are also linked against a library that needs it.

There is a smaller, tricker hack that takes advantage of the fact
that ld.so has __error() too, courtesy of the new libc, but this
hack is the straightforward version.
1998-06-21 14:22:29 +00:00
peter
c5010eaee8 Fix stupid typo, I had only tested this in elf mode. 1998-06-12 19:45:14 +00:00
peter
d24603db7b Only build rtld-aout if we're in an a.out build environment. 1998-06-12 16:09:33 +00:00
peter
69c5433237 Activate libbind 1998-06-11 09:17:58 +00:00
phk
7a64d46ca3 Spelling fixes.
PR:		6903
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-10 12:34:27 +00:00
brian
e484ff1d7f Search for libraries in dlopen() when the specified path
contains no ``/''s.
Elf already searches it seems.
Mostly submitted by: Mike Smith <mike@smith.net.au>
1998-06-07 03:53:08 +00:00
jb
065357c971 named-xfer can't be linked static due to the duplicated symbols in
libc and libbind.

rpc.rstatd required libkvm.

Only try to build these on i386 for the time being.
1998-06-06 07:09:01 +00:00
jkoshy
8d35690221 Mention that syslog.conf(5) does not log LOG_FTP messages by default.
PR: 5287
1998-06-05 10:31:24 +00:00
joerg
76360747fe Use gethostname(3) to obtain the local host name, as opposed to uname(3).
Otherwise the length of the name is limited to 32 characters only.
1998-06-03 20:01:28 +00:00
jb
cb304595fc signal() returns SIG_ERR on error, not int.
time() requires a time_t pointer, not a long.
1998-06-03 11:33:44 +00:00
jkoshy
15683e67b6 Spelling corrections.
PR: 6829
Submitted by: Josh Gilliam <josh@quick.net>
1998-06-03 04:21:41 +00:00
peter
d78a63321d SUBDIR += rtld-aout 1998-06-01 14:33:06 +00:00
peter
afda9795b1 Seperate the Paul Kranenburg a.out rtld stuff into a stand-alone area away
from the gpl ld code.  This is part 2 of something that I began in 1996.
A repository copy has happened behind cvs's back.
1998-06-01 13:00:32 +00:00
sos
bc60c8025e ELF preparation step 2:
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
1998-05-26 20:12:56 +00:00