| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Reported by: Coverity
CID: 1193819
MFC after: 1 week
|
|
|
|
|
|
|
| |
Reviewed by: emaste
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D5048
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
| |
support the a.out format.
Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Reported by: Artem Belevich <fbsdlist at src.cx>
|
|
|
|
| |
Submitted by: bde
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
Approved by: bde@
MFC after: 2 days2 days
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Approved by: bde (mentor)
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
| |
macro.
|
| |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
MFC after: 2 weeks
|
| |
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
| |
Idea from: Theo de Raadt <deraadt@openbsd.org>
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Catch and report lseek errors too
While reading header don't attempt to continue reading
if some IO operation fails
PR: 23549
|
|
|
|
| |
with warn().
|
|
|
|
| |
getopt returns -1 not EOF.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
line, instead of skipping them.
Also make a few minor cleanups.
PR: bin/7783
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
now treats empty "LD_*" environment variables as if they were unset, per
the standard SVR4 conventions.
|
|
|
|
|
|
| |
Made the usage message conform to the style guide.
Don't use the implementation variable `__progname'.
|
|
|
|
| |
Submitted by: faried nawaz <fn@uidaho.edu>, PR#2075
|
|
|
|
| |
Submitted by: Masafumi NAKANE <max@wide.ad.jp>, PR#1920
|
|
|
|
|
| |
dynamic linking information in the executable. It's quite extensive.
It's connected to ldd's (new) -v option.
|
|
|
|
|
|
|
| |
as present in the new rtld version.
Obtained from: NetBSD
Reviewed by: nate, jdp
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|