[Lldb-commits] [lldb] [lldb] Step over non-lldb breakpoints (PR #174348)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Mon Feb 9 02:46:21 PST 2026
================
@@ -330,6 +330,43 @@ class Platform : public PluginInterface {
virtual std::vector<ArchSpec>
GetSupportedArchitectures(const ArchSpec &process_host_arch) = 0;
+ /// Get the bytes of the platform's software interrupt instruction. If there
+ /// are multiple possible encodings, for example where there are immediate
+ /// values encoded in the instruction, this will return the instruction with
+ /// those bits set as 0.
+ ///
+ /// \param[in] arch
+ /// The architecture of the inferior.
+ /// \param size_hint
+ /// A hint to disambiguate which instruction is used on platforms where
+ /// there are multiple interrupts with different sizes in the ISA (e.g
+ /// ARM Thumb, RISC-V).
+ ///
+ /// \return
+ /// The bytes of the interrupt instruction, with any immediate value
+ /// bits set to 0.
+ llvm::ArrayRef<uint8_t> SoftwareTrapOpcodeBytes(const ArchSpec &arch,
+ size_t size_hint = 0);
+
+ /// Get the suggested size hint for a trap instruction on the given target.
+ /// Some platforms have a compressed instruction set which can be used
+ /// instead of the "normal" encoding. This function attempts to determine
+ /// a size hint for the size of the instruction at address \a addr, and
+ /// return 0, 2 or 4, with 2 and 4 corresponding to the estimated size
+ /// and zero meaning no applicable hint.
+ ///
+ /// \param[in] target
+ /// The target of the inferior.
+ /// \param addr
+ /// The address of the instruction.
+ /// \param bytes
+ /// The raw bytes of the instruction.
+ /// \return
+ /// The estimated size in bytes of the instruction for this target at
+ /// the given address, or 0 if no estimate is available.
----------------
DavidSpickett wrote:
The docs bot appears to have been offline for a week.
https://github.com/llvm/llvm-project/pull/174348
More information about the lldb-commits
mailing list