summaryrefslogtreecommitdiff
path: root/Base/usr
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2022-12-18 16:52:22 +0200
committerAndrew Kaster <andrewdkaster@gmail.com>2022-12-31 05:06:39 -0700
commit658f9eec6a9284b7f2a5620630d2b3d5c726fcd9 (patch)
tree8b3ae0dc5c27a0858a1850c96a1affd914ae402d /Base/usr
parentefec3448038fccd1de7fd56c3b673f1e62e282df (diff)
downloadserenity-658f9eec6a9284b7f2a5620630d2b3d5c726fcd9.zip
Utilities: Introduce the ldd utility
This utility lets a user to figure out what are the dependency libraries for an ELF dynamic object, whether it's a dynamically loaded executable or dynamically loaded library.
Diffstat (limited to 'Base/usr')
-rw-r--r--Base/usr/share/man/man1/ldd.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/Base/usr/share/man/man1/ldd.md b/Base/usr/share/man/man1/ldd.md
new file mode 100644
index 0000000000..d358f0b788
--- /dev/null
+++ b/Base/usr/share/man/man1/ldd.md
@@ -0,0 +1,41 @@
+## Name
+
+ldd - list dynamic dependencies
+
+## Synopsis
+
+```**sh
+$ ldd [-r] [-f] <path>
+```
+
+## Description
+
+`ldd` prints all dependency libraries of an ELF object.
+
+## Options
+
+* `-f`, `--force-without-valid-interpreter`: Force library resolving on ELF
+ object without a valid interpreter
+* `-r`, `--max-recursion`: Max library resolving recursion
+
+## Arguments
+
+* `path`: Path to ELF object
+
+## Security
+
+In contrast to other OS implementations, the `ldd` binary is completely safe for
+usage on untrusted binaries - we only use the `LibELF` code for doing library
+resolving, and the actual binary interpreter (when specified) is never called to
+decode the dependency information.
+
+## Examples
+
+```sh
+# List all dependency libraries for libc.so
+$ ldd -f /usr/lib/libc.so
+# List all dependency libraries for /bin/id
+$ ldd /bin/id
+# List all dependency libraries for /bin/WindowServer
+$ ldd /bin/WindowServer
+```