[Lldb-commits] [lldb] [lldb] Support disassembling discontinuous functions (PR #126505)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 10 06:28:20 PST 2025


================
@@ -82,20 +82,25 @@
 # CHECK-NEXT: (lldb) disassemble --name case2
 # CHECK-NEXT: command-disassemble.s.tmp`n1::case2:
 # CHECK-NEXT: command-disassemble.s.tmp[0x2044] <+0>: int    $0x32
-# CHECK-NEXT: warning: Not disassembling a range because it is very large [0x0000000000002046-0x0000000000004046). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
+# CHECK-NEXT: warning: Not disassembling a function because it is very large [0x0000000000002046-0x0000000000004046). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
 # CHECK-NEXT: (lldb) disassemble --name case3
-# CHECK-NEXT: error: Not disassembling a range because it is very large [0x0000000000004046-0x0000000000006046). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
-# CHECK-NEXT: Not disassembling a range because it is very large [0x0000000000006046-0x0000000000008046). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
+# CHECK-NEXT: error: Not disassembling a function because it is very large [0x0000000000006046-0x0000000000007046)[0x0000000000009046-0x000000000000a046). To disassemble specify an instruction count limit, start/stop addresses or use the --force option.
----------------
labath wrote:

Currently it will print  `limit` instructions from every range (this is shown in the next test case, line 89). This is mainly a side-effect of the fact that we don't make much of a difference between two ranges belonging to the same function and two ranges from two different functions, but maybe it also kind of slightly makes sense? At least it avoids us needing to worry about which range will contain the entry point (the ranges are sorted so it might not be the first one)

https://github.com/llvm/llvm-project/pull/126505


More information about the lldb-commits mailing list