Commit Graph

30 Commits

Author SHA1 Message Date
Akinori MUSHA
005ba515dc Fix a tiny bug in shlib support of ldd(1); if dlopen(lib, RTLD_TRACE)
returns, exit gracefully with 0.

This fixes the behavior you see when you specify libc.so.  It occurs
because ldd(1) itself is linked with libc.so.

	$ ldd /usr/lib/libc.so
	/usr/lib/libc.so:
	ldd: /usr/lib/libc.so: (null)
	/usr/lib/libc.so: exit status 1

Reviewed by:	silence of audit@
2002-05-17 17:06:56 +00:00
Mark Murray
a53809fd7e Warns; ANSIfy, constify and move declarations into a common header. 2002-04-28 12:55:35 +00:00
Mike Barcroft
a2cfdda8d7 Include <arpa/inet.h> for prototype of ntohl() used in the N_BADMAG()
macro.
2002-04-20 20:09:29 +00:00
Warner Losh
f1bb2cd2aa remove __P 2002-03-22 01:22:50 +00:00
David E. O'Brien
2024994319 Add support such that if LD_TRACE_LOADED_OBJECTS_ALL is defined to a
non-empty string in the environment; we indicate which objects caused
each object to be loaded.

PR:		30908
Submitted-by:	Mike Meyer <mwm@mired.org>
2002-02-17 07:04:32 +00:00
Maxim Sobolev
97b79abc86 Inspect ELF header and reject any non-FreeBSD shared objects.
MFC after:	2 weeks
2002-02-08 04:08:57 +00:00
Maxim Sobolev
c6de4ce791 Allow ldd(1) be used on shared libraries in addition to executables. 2002-02-04 10:33:48 +00:00
Maxim Sobolev
fc41545e4e GC meaningless assignment.
MFC after:	3 days
2002-02-04 10:23:23 +00:00
Brian Somers
7bc6d0158f Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
David E. O'Brien
5e6220d9d0 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
Andrey A. Chernov
e6f0df2b20 Fix lseek args order (PR 23549)
Catch and report lseek errors too
While reading header don't attempt to continue reading
if some IO operation fails

PR:		23549
2000-12-15 13:20:43 +00:00
Philippe Charnier
3e7626264d Add rcsid. Remove unused #include. Remove error() definition and replace
with warn().
2000-12-10 20:54:13 +00:00
Warner Losh
62f882d620 getopt and friends are declared in <unistd.h>
getopt returns -1 not EOF.
2000-09-04 06:09:54 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Doug Rabson
97db68b61b Make ldd work on alpha. 1998-09-16 09:31:48 +00:00
John Polstra
e2daa140cc Fix a bug which caused ldd to execute scripts listed on its command
line, instead of skipping them.

Also make a few minor cleanups.

PR:		bin/7783
1998-08-30 18:30:59 +00:00
Doug Rabson
c474c6d309 Add ELF support. 1998-05-01 08:40:11 +00:00
John Polstra
170fa4e888 Touch up the code that implements "ldd -v".
Bring the style of sods.c into better conformance.  Add code to
print the contents of each datum being relocated.  Correct the logic
that distinguishes between programs, shared libraries, and object
files.  Make the entire program "-Wall" clean.
1997-09-02 21:54:39 +00:00
Peter Wemm
fce15c9ab3 Revert $FreeBSD$ to $Id$ 1997-02-22 15:48:31 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
John Polstra
18c0f29eaa Set LD_TRACE_LOADED_OBJECTS to "1" instead of to "". The dynamic linker
now treats empty "LD_*" environment variables as if they were unset, per
the standard SVR4 conventions.
1997-01-12 00:10:57 +00:00
Bruce Evans
45f4c7f97c Made the synopsis in the man page conform to the style guide.
Made the usage message conform to the style guide.

Don't use the implementation variable `__progname'.
1996-11-30 16:12:46 +00:00
Peter Wemm
b988beb8f9 make the Usage string match reality
Submitted by:  faried nawaz <fn@uidaho.edu>, PR#2075
1996-11-22 13:58:03 +00:00
Peter Wemm
fecaa12727 oops, uninitialised variable.. -v mode depended on stack contents.
Submitted by: Masafumi NAKANE <max@wide.ad.jp>, PR#1920
1996-10-29 18:45:20 +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
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
Nate Williams
61f9ce8d32 Updated to recent version of Paul K.'s shlib code. This code has better
warning handling and allows for link-time warnings with a modified
version of gas.

Note: Not all of the newer bits were updated such as some of the non-x86
machine-dependant code is relevant to FreeBSD right now.

Obtained from: NetBSD
1994-12-23 22:31:35 +00:00
Rich Murphey
699e1b82fb Changes from Paul Kranenburg which bring us into sync with his sources:
handling of errors through the standard err() and warn()
 more fixes for Geoff Rehmet's NULL pointer bug.
 fixes NULL pointer bugs when linking mono and nested X servers.
 supports a `-nostdlib' option.
 accept object files without a symbol table
 don't attempt dynamic linking when `-A' is given

a few variable names have chaged (desc -> fd), and the formatting has
changed which should make it much easier to track his sources.

I tested 'make world' for /usr/src and X twice with these changes.
1994-06-15 22:41:19 +00:00
Jordan K. Hubbard
09e3d49d92 This is Paul K's latest set of ld changes. A commit was necessary at this
late stage due to the fact that link.h was copyright Sun Microsystems.

This version of ld sync's us up with NetBSD's ld and supports compatablily
with NetBSD's -[zZ] flags (which we had reversed).  Compiling with this
new ld will give you RRS warnings for libraries which do not contain .type
infomation - these wsarnings are harmless and will go away as soon as you
recompile your libraries (cd /usr/src; make libraries).
1994-02-13 20:43:13 +00:00
Paul Richards
b9ae52e32a Imported NetBSD's ld for shared libs. 1993-11-03 23:41:59 +00:00