summaryrefslogtreecommitdiffstats
path: root/usr.bin/ldd/ldd.c
Commit message (Collapse)AuthorAgeFilesLines
* Increase size of argv[] array to avoid running off the end.truckman2016-05-161-1/+1
| | | | | | Reported by: Coverity CID: 1193819 MFC after: 1 week
* We don't support a.out executables on RISC-V.br2016-01-241-2/+2
| | | | | | | Reviewed by: emaste Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D5048
* Add support for ARM EABI.jkim2015-10-161-1/+12
| | | | MFC after: 1 week
* Allowus to exclude a.out support from ldd and use it with arm64 as it won'tandrew2015-03-181-1/+10
| | | | | | | support the a.out format. Reviewed by: emaste Sponsored by: The FreeBSD Foundation
* Pass variables prefixed with both LD_ and LD_32_ to the run-time linker.markj2013-08-071-13/+17
| | | | | | | | | | This prevents unintentional execution of programs when running ldd(1) on 32-bit Linux binaries. PR: 175339, 127276 Suggested by: kib, rstone Reviewed by: kib MFC after: 2 weeks
* hdr.elf.e_ident[EI_OSABI] is not a bitmask so '==' should been used.brucec2010-11-221-2/+2
| | | | Reported by: Artem Belevich <fbsdlist at src.cx>
* A few style and whitespace fixes.jhb2008-08-021-11/+9
| | | | Submitted by: bde
* Tweak the support for using ldd on 32-bit objects a bit further.jhb2008-08-011-32/+67
| | | | | | | | | | | | | Specifically, build a 32-bit /usr/bin/ldd32 on amd64 which handles 32-bit objects. Since it is a 32-bit binary, it can fork a child process which can dlopen() a 32-bit shared library. The current 32-bit support in ldd can't do this because it does the dlopen() from a 64-bit process. In order to preserve an intuitive interface for users, the ldd binary automatically execs /usr/bin/ldd32 for 32-bit objects. The end result is that ldd on amd64 now transparently handles 32-bit shared libraries in addition to 32-bit binaries. Submitted by: ps (indirectly)
* Fix text in the comment why we check for ELF32_R_TYPEedwin2008-07-281-8/+5
| | | | | Approved by: bde@ MFC after: 2 days2 days
* After the commit of SVN rev 180236, wilko@ noticed that the approachedwin2008-07-211-4/+18
| | | | | | | | | doesn't work on the Alpha platform: machine/elf.h doesn't include sys/elf32.h there. PR: related to bin/124906 Approved by: bde@ MFC after: 1 week
* On 64 bit architectures, you can run 32 bit executables and the rtld can ↵edwin2008-07-031-2/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trace them, but ldd(1) doesn't know yet how to detect them: [/] root@ed-exigent>ldd `which httpd` ldd: /usr/local/sbin/httpd: can't read program header ldd: /usr/local/sbin/httpd: not a dynamic executable But... [/] root@ed-exigent>LD_32_TRACE_LOADED_OBJECTS==1 `which httpd` libm.so.4 => /lib32//libm.so.4 (0x280c8000) libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280de000) libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x280f2000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28110000) libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x281fd000) libcrypt.so.3 => /lib32//libcrypt.so.3 (0x2821d000) libpthread.so.2 => not found (0x0) libc.so.6 => /lib32//libc.so.6 (0x28235000) libpthread.so.2 => /usr/lib32/libpthread.so.2 (0x2830d000) Added support in ldd(1) for the LD_32_xxx environment variables if the architecture of the machine is >32 bits. If we ever go to 128 bit architectures this excercise will have to be repeated but thanks to earlier commits today it will be relative simple. PR: bin/124906 Submitted by: edwin Approved by: bde (mentor) MFC after: 1 week
* Extract the determination of the kind of (dynamic) executable fromedwin2008-07-031-81/+120
| | | | | | | | | | the main-loop into a seperate function. Instead of using hardcoded environment variables, define them in a lookup table. For the rest, no functionality changes. Approved by: bde (mentor) MFC after: 1 week
* stylify ldd.c, no functional changes.edwin2008-07-031-37/+34
| | | | | Approved by: bde (mentor) MFC after: 1 week
* Fix a problem with RTLD_TRACE flag to dlopen(3), which sometimes can returnsobomax2002-10-191-5/+4
| | | | | | | | | | | | | even if there was no error occured (when trying to dlopen(3) object that already linked into executable which does dlopen(3) call). This is more proper fix for `ldd /usr/lib/libc.so' problem, because the new behaviour conforms to documentation. Remove workaround from ldd.c (rev.1.32). PR: 35099 Submitted by: Nathan Hawkins <utsl@quic.net> MFC after: 1 week
* Fix a tiny bug in shlib support of ldd(1); if dlopen(lib, RTLD_TRACE)knu2002-05-171-4/+5
| | | | | | | | | | | | | | 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@
* Warns; ANSIfy, constify and move declarations into a common header.markm2002-04-281-13/+11
|
* Include <arpa/inet.h> for prototype of ntohl() used in the N_BADMAG()mike2002-04-201-0/+1
| | | | macro.
* remove __Pimp2002-03-221-1/+1
|
* Add support such that if LD_TRACE_LOADED_OBJECTS_ALL is defined to aobrien2002-02-171-5/+11
| | | | | | | | 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>
* Inspect ELF header and reject any non-FreeBSD shared objects.sobomax2002-02-081-1/+7
| | | | MFC after: 2 weeks
* Allow ldd(1) be used on shared libraries in addition to executables.sobomax2002-02-041-2/+12
|
* GC meaningless assignment.sobomax2002-02-041-1/+1
| | | | MFC after: 3 days
* Fix the type of the NULL arg to execl()brian2001-07-091-1/+1
| | | | Idea from: Theo de Raadt <deraadt@openbsd.org>
* * include/elf.h has been repo copied to include/elf-hints.h, and it noobrien2001-05-021-1/+1
| | | | | | | | 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.
* Fix lseek args order (PR 23549)ache2000-12-151-12/+15
| | | | | | | | Catch and report lseek errors too While reading header don't attempt to continue reading if some IO operation fails PR: 23549
* Add rcsid. Remove unused #include. Remove error() definition and replacecharnier2000-12-101-10/+7
| | | | with warn().
* getopt and friends are declared in <unistd.h>imp2000-09-041-1/+1
| | | | getopt returns -1 not EOF.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Make ldd work on alpha.dfr1998-09-161-4/+6
|
* Fix a bug which caused ldd to execute scripts listed on its commandjdp1998-08-301-29/+28
| | | | | | | | line, instead of skipping them. Also make a few minor cleanups. PR: bin/7783
* Add ELF support.dfr1998-05-011-9/+52
|
* Touch up the code that implements "ldd -v".jdp1997-09-021-2/+2
| | | | | | | 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.
* Revert $FreeBSD$ to $Id$peter1997-02-221-1/+1
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | 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.
* Set LD_TRACE_LOADED_OBJECTS to "1" instead of to "". The dynamic linkerjdp1997-01-121-2/+2
| | | | | now treats empty "LD_*" environment variables as if they were unset, per the standard SVR4 conventions.
* Made the synopsis in the man page conform to the style guide.bde1996-11-301-6/+2
| | | | | | Made the usage message conform to the style guide. Don't use the implementation variable `__progname'.
* make the Usage string match realitypeter1996-11-221-2/+4
| | | | Submitted by: faried nawaz <fn@uidaho.edu>, PR#2075
* oops, uninitialised variable.. -v mode depended on stack contents.peter1996-10-291-2/+2
| | | | Submitted by: Masafumi NAKANE <max@wide.ad.jp>, PR#1920
* Incorporate John Polstra's sods.c display of the details about thepeter1996-10-011-2/+18
| | | | | dynamic linking information in the executable. It's quite extensive. It's connected to ldd's (new) -v option.
* Support for specifying printf-like output specs to control the ldd outputpeter1996-10-011-3/+20
| | | | | | | as present in the new rtld version. Obtained from: NetBSD Reviewed by: nate, jdp
* Updated to recent version of Paul K.'s shlib code. This code has betternate1994-12-231-4/+7
| | | | | | | | | | 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
* Changes from Paul Kranenburg which bring us into sync with his sources:rich1994-06-151-30/+26
| | | | | | | | | | | | | | 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.
* This is Paul K's latest set of ld changes. A commit was necessary at thisjkh1994-02-131-2/+3
| | | | | | | | | | 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).
* Imported NetBSD's ld for shared libs.paul1993-11-031-0/+139
OpenPOWER on IntegriCloud