[Lldb-commits] [lldb] [lldb][docs] Describe how to check enabled features (PR #171468)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Tue Dec 9 08:17:43 PST 2025


https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/171468

This makes use of `version -v` added by #170772,
along with a fallback method for LLDB prior to 22.

The fallback uses readelf because running ldd on
binaries you don't trust is not a good idea.

https://man7.org/linux/man-pages/man1/ldd.1.html
"some versions of ldd may attempt to obtain the
dependency information by attempting to directly
execute the program"

People will be inspecting downloaded builds
of LLDB so this is best avoided.

>From 0c3d5744c86ad069e20f30e83f1bc8dfdc61aeae Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Tue, 9 Dec 2025 16:11:51 +0000
Subject: [PATCH] [lldb][docs] Describe how to check enabled features

This makes use of `version -v` added by #170772,
along with a fallback method for LLDB prior to 22.

The fallback uses readelf because running ldd on
binaries you don't trust is not a good idea.

https://man7.org/linux/man-pages/man1/ldd.1.html
"some versions of ldd may attempt to obtain the
dependency information by attempting to directly
execute the program"

People will be inspecting downloaded builds
of LLDB so this is best avoided.
---
 lldb/docs/use/troubleshooting.rst | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/lldb/docs/use/troubleshooting.rst b/lldb/docs/use/troubleshooting.rst
index e6604f6ecffea..c25371ec3c615 100644
--- a/lldb/docs/use/troubleshooting.rst
+++ b/lldb/docs/use/troubleshooting.rst
@@ -97,3 +97,33 @@ for any source file and line breakpoints that the IDE set using:
 ::
 
    (lldb) breakpoint list --verbose
+
+How Do I Find Out What Features My Version Of LLDB Has?
+-------------------------------------------------------
+
+Some features such as XML parsing are optional and must be enabled when LLDB is
+built. To check which features your copy of LLDB has enabled, use the ``version``
+command from within LLDB:
+
+::
+
+   (lldb) version -v
+
+.. note::
+   This feature was added in LLDB 22. If you are using an earlier version, you
+   can use the method below.
+
+Alternatively, you can check the shared library dependencies of LLDB. For example
+on Linux you can use the following command:
+
+::
+
+   $ readelf -d ./bin/lldb | grep NEEDED
+   0x0000000000000001 (NEEDED)             Shared library: [liblldb.so.22.0git]
+   0x0000000000000001 (NEEDED)             Shared library: [libxml2.so.2]
+   0x0000000000000001 (NEEDED)             Shared library: [libedit.so.2]
+   <...>
+   0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
+
+The output above shows us that this particular copy of LLDB has XML parsing
+(``libxml2``) and editline (``libedit``) enabled.



More information about the lldb-commits mailing list